Leetcode 227.基本计算器II
2024-09-04 17:25:14
基本计算器II
实现一个基本的计算器来计算一个简单的字符串表达式的值。
字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。
示例 1:
输入: "3+2*2"
输出: 7
示例 2:
输入: " 3/2 "
输出: 1
示例 3:
输入: " 3+5 / 2 "
输出: 5
说明:
- 你可以假设所给定的表达式都是有效的。
- 请不要使用内置的库函数 eval。
class Solution {
public int calculate(String s) {
int result=0,len=s.length(),num=0;
char op='+'; //初始上一个运算符为加法 上个数字为0
Stack<Integer> stack=new Stack<Integer>();
for(int i=0;i<len;i++){
char c=s.charAt(i);
if(c>='0'){
num=num*10+s.charAt(i)-'0';
}
if(c<'0'&&c!=' '||i==len-1){
if(op=='+') stack.push(num);
if(op=='-') stack.push(-num);
if(op=='*'||op=='/'){
int temp=(op=='*')?stack.pop()*num:stack.pop()/num;
stack.push(temp);
}
op=s.charAt(i);
num=0;
}
}
while(!stack.isEmpty()){
result+=stack.pop();
}
return result;
}
}
最新文章
- javase-排序
- Django HTML 显示文章摘要
- sax解析案例(javabean封装xml文档数据)
- Coursera台大机器学习基础课程学习笔记2 -- 机器学习的分类
- Xamarin.Android之转换,呼叫,查看历史纪录
- Python3爬虫学习
- ListView 文件重命名
- Fast Report Data Filter
- Struts_json插件配置参数
- oracle表空间查询维护命令大全之二(undo表空间)
- 【原】从一个bug浅谈YUI3组件的资源加载
- xcode Workspaces
- gen_create_syn.sql
- 【java基础】接口VS抽象类
- git之命令git checkout
- 脚本一键部署lnmp
- 开发手记:Linux下更改Oracle表空间大小
- 如何查看xmtb项目接口
- 把本地git仓库的项目上传到远程仓库
- 【LeetCode-面试算法经典-Java实现】【136-Single Number(仅仅出现一次的数字)】