我在这里遇到一个小问题,你可以考虑回答;
这是代码;
public void analyze (String input, int length, int j){
if (j == length){
return;
}
if(input.charAt(j) == '{' || input.charAt(j) == '(')
push(input.charAt(j));
else
pop();
j++;
analyze (input, length, j);
}
输出:
Original List: {()}
List: {
嗯,问题是List应该是空的,但我似乎无法找到解决方案。
提前谢谢。
以下是完整代码: http://pastebin.com/nXc79gHf
答案 0 :(得分:0)
假设您的输入仅包含
'}', '{'
和'(', ')'
个字符。
替换为以下代码(假设push()
和pop()
工作正常)...
public void analyze(String input, int length, int j){
if (j >= length) return;
if(input.charAt(j) == '{' || input.charAt(j) == '(')
push(input.charAt(j));
else if(input.charAt(j) == '}' || input.charAt(j) == ')')
pop();
analyze (input, length, ++j);
}
使用analyze(input, input.length(), 0);
实施例。 {()}