欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Leetcode 227. 基本计算器 II - 问题解决

最编程 2024-03-07 19:29:25
...

此题很容易想到用栈来解 但我第一想法并不用栈
我的想法是先把 * 和 / 运算全都计算出来
在顺序进行加减法
此题有诸多细节问题, 下面将一一列举

  1. 整数的读取
    我们需要将连在一起的个数字都读取到一块
private int nextNumber() {  
	int num = s.charAt(i) - '0';  
	while (i + 1 < s.length() && Character.isDigit(s.charAt(i + 1)))  
		num = num * 10 + s.charAt(++i) - '0';  
	return num;  
}
  1. 空格的处理
    在处理 * 或 / 下一个数字时会存在遇到空格的情况
while (s.charAt(++i) == ' ');  
  1. 当经行了一次乘除计算之后需要把指针后移
numbers.remove(numbers.size() - 2); 

具体代码参上

好的!本次分享到这就结束了
如果对铁汁你有帮助的话,记得点赞????+收藏⭐️+关注➕
我在这先行拜谢了:)

原题链接