讨论/《算法面试题汇总》 - 基本计算器 II/
《算法面试题汇总》 - 基本计算器 II

嗯是不知道为什么3/2过不了,明明自己这边随便过。奇奇怪怪的

Stack<int> number = new Stack<int>();
            
            char zz = '+';
            int num = 0;
            for(int i = 0; i < s.Length; i++)
            {
                if (char.IsDigit(s[i]))
                {
                    num = num * 10 + s[i] - '0';
                }
                if (!char.IsDigit(s[i]) || i == s.Length - 1)
                {
                    switch (zz)
                    {
                        case '+':
                            number.Push(num);
                            break;
                        case '-':
                            number.Push(-num);
                            break;
                        case '*':
                            number.Push(number.Pop() * num);
                            break;
                        case '/':
                            number.Push(number.Pop() / num);
                            break;
                        default:
                            break;
                    }
                    zz = s[i];
                    num = 0;
                }
            }
            num = 0;
            int n = number.Count;
            for(int i = 0; i < n; i++)
            {
                num += number.Pop();
            }
            
            return num;
展开全部 2 讨论