尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

算法训练营第二十一天| 基本计算器 II

算法训练营第二十一天| 基本计算器 II 1.题目链接https://leetcode.cn/problems/basic-calculator-ii/description/ 优秀题解https://leetcode.cn/problems/basic-calculator-ii/solutions/91271/chai-jie-fu-za-wen-ti-shi-xian-yi-ge-wan-zheng-ji-/2.#include stdio.h #include stdlib.h #include ctype.h #include string.h int calculate(char* s) { int stackSize 4; int* stack (int*)malloc(stackSize * sizeof(int)); int top -1; int num 0; char op ; int len strlen(s); for (int i 0; i len; i) { if (isdigit(s[i])) { num num * 10 (s[i] - 0); } if ((!isdigit(s[i]) s[i] ! ) || i len - 1) { if (top 1 stackSize) { stackSize * 2; stack (int*)realloc(stack, stackSize * sizeof(int)); } switch (op) { case : stack[top] num; break; case -: stack[top] -num; break; case *: stack[top] * num; break; case /: stack[top] stack[top] / num; break; } op s[i]; num 0; } } int result 0; for (int j 0; j top; j) { result stack[j]; } free(stack); return result; }
返回列表