LeetCode 682 棒球比赛
题目来源
题目描述
注:
输入列表的大小将介于1和1000之间
列表中的每个整数都将介于-30000和30000之间。
本题用到了栈的先进后出的知识,本题已知栈的长度,构造静态栈,利用switch语句即可
int calPoints(char ** ops, int opsSize){
int sum=0;
int Top=-1; //定义栈顶元素
int array[opsSize];
for(int i=0;i<opsSize;i++)
{
switch(ops[i][0])
{
case '+': //前两个元素相加
array[++Top]=array[Top]+array[Top-1];
sum+=array[Top];
break;
case 'C': //前一个元素出栈减掉
sum-=array[Top--];
break;
case 'D': //前一个元素扩大两倍
array[++Top]=array[Top]*2;
sum+=array[Top];
break;
default: //将char 转为int 型
array[++Top]=atoi(ops[i]);
sum+=array[Top];
}
}
return sum;
}