Skip to content

Expression

Xin Wan edited this page Jul 22, 2018 · 1 revision

Q1 只有数字和加减号

PreNum and Presign 的概念

public class Solution {

	public int evaluateExpression(String expr) {
		if (expr == null || expr.length() == 0) {
			return 0;
		}

		int preNum = 0;
		int preSign = 1;

		for (int i = 0; i < expr.length(); i++) {
			int num = 0;

			while (i < expr.length() && Character.isDigit(expr.charAt(i))) {
				num = num * 10 + expr.charAt(i) - '0';
				i++;
			}

			preNum += preSign * num;

			if (i < expr.length()) {
				preSign = expr.charAt(i) == '+' ? 1 : -1;
			}
		}

		return preNum;
	}
}

Clone this wiki locally