当前位置: 首页 > news >正文

leetcode刷题日记——逆波兰表达式求值

[ 题目描述 ]:
在这里插入图片描述
[ 思路 ]:

  • 借助栈的特性,遇见数字就将这个数压入栈内,遇见符号,就从栈中弹出两个数,进行相应的运算,然后将结果压入栈中
  • 运行如下
    在这里插入图片描述
int evalRPN(char** tokens, int tokensSize) {int* stack = (int*)malloc(sizeof(int) * tokensSize);int top = -1;for (int i = 0; i < tokensSize; i++) {if (strcmp(tokens[i], "*") == 0) {int a = stack[top--];int b = stack[top--];stack[++top] = b * a;} else if (strcmp(tokens[i], "+") == 0) {int a = stack[top--];int b = stack[top--];stack[++top] = b + a;} else if (strcmp(tokens[i], "-") == 0) {int a = stack[top--];int b = stack[top--];stack[++top] = b - a; } else if (strcmp(tokens[i], "/") == 0) {int a = stack[top--];int b = stack[top--];stack[++top] = b / a; } else {int num = 0;int sign = 1;int j = 0;if (tokens[i][0] == '-') {sign = -1;j = 1;}for (; tokens[i][j] != '\0'; j++) {num = num * 10 + (tokens[i][j] - '0');}stack[++top] = num * sign;}}int result = stack[top];free(stack);return result;
}

[ 官方题解 ]:

  • 方法一:栈,思路基本同上
  • 方法二:数组模拟栈,即,上述操作

相关文章:

  • 如何用WordPress AI插件自动生成SEO文章,提升网站流量?
  • 开源免费!AI视频分析神器,智能识别画面,1秒提取关键帧!附详细教程
  • 反转链表.
  • G1垃圾回收器中YoungGC和MixedGC的区别
  • 【ESP32-IDF笔记】20-配置以太网网络(W5500)
  • linux离线部署open-metadata
  • kotlin与MVVM结合使用总结(三)
  • 13.ArkUI Navigation的介绍和使用
  • SIEMENS PLC程序解读 -Serialize(序列化)SCATTER_BLK(数据分散)
  • 关于位运算的一些小记
  • 速成GO访问sql,个人笔记
  • AI之FastAPI+ollama调用嵌入模型OllamaBgeEmbeddings
  • 用 ESP32 模拟 Wiegand 刷卡器:开发门禁系统必备的小工具
  • C++入门小馆: 深入了解STLlist
  • 【金仓数据库征文】-不懂数据库也能看懂!一文解析金仓技术介绍以典型应用
  • 电子病历高质量语料库构建方法与架构项目(数据遗忘篇)
  • Redis 集群切片全解析:四种常见技术的原理、优劣与应用
  • 【MQ篇】RabbitMQ的消费者确认机制实战!
  • HTML word属性
  • 文档驱动:“提纲挈领”视角下的项目管理中枢构建
  • 中国平安一季度净赚270亿降逾26%,营运利润增2.4%
  • 韩国首尔江南区一大型商场起火,消防部门正在灭火中
  • 2025年两院院士增选工作启动,名额均不超过100名
  • 水利部启动实施蓄滞洪区建设管理三年行动
  • 2025一季度,上海有两把刷子
  • 上海车展迎来超百款首发新车,全市多区开展汽车促消费活动