Flashcards
Evaluate an expression
Flashcards do conjunto (2)
- 1Evaluate an expression with brackets and '+' , '-'class Solution {
public int calculate(String s) {
int result = 0, sign = 1;
Stack stack = new Stack<>();
int len = s.length();
for( int i = 0; i< len ; i++ ){
if( Character.isDigit(s.charAt(i)) ){
int sum = s.charAt(i) - '0' ;
while( i+1 < len && Character.isDigit(s.charAt(i + 1))){
sum = sum * 10 + s.charAt(i + 1) - '0';
i++;
}
result += sum*sign;
}else if( s.charAt(i) == '+'){
sign = 1;
}else if( s.charAt(i) == '-'){
sign = -1;
}else if( s.charAt(i) == '('){
stack.push(result);
stack.push(sign);
result = 0;
sign = 1;
}else if( s.charAt(i) == ')' ){
result = result * stack.pop() + stack.pop();
}
} - 2Expression without brackets but with '*' and '/'class Solution {
public int calculate(String s) {
int len;
if(s==null || (len = s.length())==0) return 0;
Stack stack = new Stack();
int num = 0;
char sign = '+';
for(int i=0;i
Informações
- Descrição
- FlashCards sobre Evaluate an expression, criado por Suhas S em 17-05-2018.
- Criado por
- Suhas S
- Visualizações
- 0
- Avaliação