LeetCode_155-Min Stack
2024-09-01 10:51:40
栈的实现,多加了一个最小值的获取
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;
};
可关注公众号了解更多的面试技巧
最新文章
- 【ZOJ 3929】Deque and Balls(普通dp)
- poj 2559 Largest Rectangle in a Histogram - 单调栈
- LeetCode 135 Candy(贪心算法)
- VB6的命令行参数
- TopCoder 603 div1 &; div2
- PHP代码为什么不能直接保存HTML文件——&;gt;PHP生成静态页面教程
- cf C. Sereja and Algorithm
- 浅谈js中的正则表达式
- MYSQL GROUP BY Optimization
- 中缀表达式得到后缀表达式(c++、python实现)
- 精度 Precision
- Olap学习笔记
- oracle(2)
- Day1 Python基础学习——概述、基本数据类型、流程控制
- 命名空间namespace ,以及重复定义的问题解析
- 20145234黄斐《Java程序设计》课程总结
- 【Unity】使用Git管理项目及其.gitignore写法
- 【python】10分钟教你用python打造贪吃蛇超详细教程
- [翻译] HSDatePickerViewController
- (转)Maven的pom.xml文件结构之Build配置build
热门文章
- 【Offer】[28] 【对称的二叉树】
- Day004_Linux基础命令之特殊符号与正则表达式通配符
- CF785D Anton and School – 2
- SpringBoot 2.0 + 阿里巴巴 Sentinel 动态限流实战
- Imageio: 'ffmpeg-win32-v3.2.4.exe' was not found on your computer; downloading it now.
- mgo操作mongodb
- TestNG(九) 异常测试
- python接口自动化测试七:获取登录的Cookies
- Rsync 服务部署与参数详解
- (intellij ieda激活码、CLion激活码、php storm激活码、webstorm激活码、jetbrains全家桶激活码)