子夜降晴空 level
获赞
628
粉丝
10
关注
5
看过 TA
17
华南理工大学
2021
C++
IP属地:广东
暂未填写个人简介
私信
关注
2021-03-27 16:14
已编辑
华南理工大学 C++
class Solution { public: int solve(string s) { int res = 0; //用于返回当前字符串的计算结果 stack<int> sum; //用于求和 char sign = '+'; //记录前一个符号,初始化为+,因为可以看成当前字符串前先加0 int num = 0; //用于将连续数字字符串转化成数字或者记录递归结果 for(int i = 0; i < s.size(); i++) { //遍历每一个字符 i...
今天你编程了么?:第18行感觉有些问题呢,虽然最后case可以通过,但是不够严谨。num = solve(s.substr(left + 1, i - left - 1)); 应该是num = solve(s.substr(left + 1, i - left - 2))才对。 比方说(1+2),这时i=5(右括号的下面一个位置),left=0(左括号位置)。那么substr长度应该是i-left-2。至于为什么-1的case能够通过,因为for循环中没有对')'进行讨论,直接跳过,不予以处理。 从程序运行角度讲答主可以正确运行,但是从逻辑上面讲还是需要修改哦。
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务