/*
题目:
定义栈的数据结构,实现一个能够得到栈的最小元素的min函数。
*/
/*
思路:
错误思路:每次保存当前最小的元素,如果当前最小元素弹出,最小元素是谁?
正确思路:两个栈,一个栈保存数据,另一个栈用于存储当前最小元素。
*/
#include <iostream>
#include<cstdlib>
#include<stack> using namespace std; stack<int> m_data;
stack<int> m_min; void push(int value) {
m_data.push(value);
int minVal = value;
if(!m_min.empty()){
int temp = m_min.top();
if(temp < value){
minVal = temp;
}
}
m_min.push(minVal);
}
void pop() {
if(!m_data.empty()){
m_data.pop();
m_min.pop();
}
}
int top() {
return m_data.top();
}
int min() {
return m_min.top();
} int main()
{
/*
TreeNode *node7 = new TreeNode(7);
TreeNode *node6 = new TreeNode(4);
TreeNode *node5 = new TreeNode(3);
TreeNode *node4 = new TreeNode(9);
TreeNode *node3 = new TreeNode(7);
TreeNode *node2 = new TreeNode(8);
TreeNode *node1 = new TreeNode(8); node1->left = node2;
node1->right = node3;
node2->left = node4;
node2->right = node5;
node5->left = node6;
node5->right =node7; TreeNode *node31 = new TreeNode(2);
TreeNode *node21 = new TreeNode(9);
TreeNode *node11 = new TreeNode(8); node11->left = node21;
node11->right = node31; cout<<Mirror(node1)<<endl;*/ return 0;
}

  

最新文章

  1. 【转】SHELL中的IFS详解
  2. 求第K大数
  3. 两个APP之间怎么调用《IT蓝豹》
  4. iOS 适配https
  5. mybatis字符串模糊匹配
  6. BZOJ 1089: [SCOI2003]严格n元树
  7. (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
  8. JS原型-语法甘露
  9. HDU5802-windows 10-dfs+贪心
  10. poj1276 多重背包
  11. systemstate dump 介绍
  12. T4 assembly
  13. 在vs2005中使用SVN进行版本管理
  14. 使用下拉列表框&lt;select&gt;标签,节省空间
  15. c++中可以对类中私有成员中的静态变量初始化吗?
  16. sql求和涉及到null值
  17. 我的Android 4 学习系列之创建应用程序和Activity:Manifest、Application、Activity
  18. 1016: [JSOI2008]最小生成树计数
  19. php之str_replace具体解释
  20. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数

热门文章

  1. codeforces 1025B Weakened Common Divisor(质因数分解)
  2. sqlserver install on linux chapter two
  3. 量子计算机编程(一)——QPU编程
  4. Go语言实现:【剑指offer】合并两个排序的链表
  5. c++中的智能指针怎样释放连续的资源?
  6. 微信小程序面试题总结
  7. javascript HierarchicalTaskAnalysis-hta编程(.hta)
  8. win 8.0.12
  9. php 安装扩展插件实例-ftp.so
  10. 在windows系统安装nginx