- stack<int> st;
- st.push(0);
- for(int i = 1; i < nums.size(); i++){
- while(!st.empty() && st.top() > nums[i]){
- st.pop();
- //计算、存放结果
- }
- st.push(nums[i]);
- }
错误示例×:
- stack<int> st;
-
- //由于上一轮循环中pop掉了栈顶元素,栈的大小也随之改变,无法遍历完栈中所有元素
- for(int i=0;i
size();i++){ - //对栈顶元素进行处理
- //..
- st.pop();
- }
- stack<int> st;
- int len=st.size();
-
-