本文主要是介绍C语言 | Leetcode C语言题解之第150题逆波兰表达式求值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
题解:
int evalRPN(char** tokens, int tokensSize) {int n = tokensSize;int stk[(n + 1) / 2];memset(stk, 0, sizeof(stk));int index = -1;for (int i = 0; i < n; i++) {char* token = tokens[i];if (strlen(token) > 1 || isdigit(token[0])) {index++;stk[index] = atoi(token);} else {switch (token[0]) {case '+':index--;stk[index] += stk[index + 1];break;case '-':index--;stk[index] -= stk[index + 1];break;case '*':index--;stk[index] *= stk[index + 1];break;case '/':index--;stk[index] /= stk[index + 1];break;}}}return stk[index];
}
这篇关于C语言 | Leetcode C语言题解之第150题逆波兰表达式求值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!