栈的实现,多加了一个最小值的获取

class MinStack {
public:
struct Node {
int nNum;
int nMinNum;
Node* pNext;
Node() {
pNext = nullptr;
}
};
/** initialize your data structure here. */
MinStack() {
m_pHead = nullptr;
} ~MinStack() {
while(m_pHead != nullptr) {
Node* pTmp = m_pHead;
m_pHead = m_pHead->pNext;
delete pTmp;
pTmp = nullptr;
}
} void push(int x) {
if(m_pHead == nullptr) {
m_pHead = new Node;
m_pHead->pNext = nullptr;
m_pHead->nMinNum = x;
}
else {
Node* pTmp = new Node;
pTmp->nMinNum = m_pHead->nMinNum;
pTmp->pNext = m_pHead;
m_pHead = pTmp;
if(m_pHead->nMinNum > x) {
m_pHead->nMinNum = x;
}
}
m_pHead->nNum = x;
} void pop() {
if(m_pHead != nullptr) {
Node* pTmp = m_pHead;
m_pHead = m_pHead->pNext;
delete pTmp;
pTmp = nullptr;
}
} int top() {
if(m_pHead != nullptr) {
return m_pHead->nNum;
}
return ;
} int getMin() {
return m_pHead->nMinNum;
} protected:
Node* m_pHead;
};

可关注公众号了解更多的面试技巧

最新文章

  1. 【ZOJ 3929】Deque and Balls(普通dp)
  2. poj 2559 Largest Rectangle in a Histogram - 单调栈
  3. LeetCode 135 Candy(贪心算法)
  4. VB6的命令行参数
  5. TopCoder 603 div1 & div2
  6. PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
  7. cf C. Sereja and Algorithm
  8. 浅谈js中的正则表达式
  9. MYSQL GROUP BY Optimization
  10. 中缀表达式得到后缀表达式(c++、python实现)
  11. 精度 Precision
  12. Olap学习笔记
  13. oracle(2)
  14. Day1 Python基础学习——概述、基本数据类型、流程控制
  15. 命名空间namespace ,以及重复定义的问题解析
  16. 20145234黄斐《Java程序设计》课程总结
  17. 【Unity】使用Git管理项目及其.gitignore写法
  18. 【python】10分钟教你用python打造贪吃蛇超详细教程
  19. [翻译] HSDatePickerViewController
  20. (转)Maven的pom.xml文件结构之Build配置build

热门文章

  1. 【Offer】[28] 【对称的二叉树】
  2. Day004_Linux基础命令之特殊符号与正则表达式通配符
  3. CF785D Anton and School – 2
  4. SpringBoot 2.0 + 阿里巴巴 Sentinel 动态限流实战
  5. Imageio: 'ffmpeg-win32-v3.2.4.exe' was not found on your computer; downloading it now.
  6. mgo操作mongodb
  7. TestNG(九) 异常测试
  8. python接口自动化测试七:获取登录的Cookies
  9. Rsync 服务部署与参数详解
  10. (intellij ieda激活码、CLion激活码、php storm激活码、webstorm激活码、jetbrains全家桶激活码)