我有一些特定的任務。我們有像「(()[] <>)」或類似的東西。我面試問題中的一個問題是如何檢查字符串是正確還是錯誤。例如:「()[] <>」 - true,「([)」 - false,「[(])」 - false,「([<>])」 - true。非常感謝你們! 我無法理解我的代碼有什麼問題。 非常感謝各位傢伙! 請幫忙!如何使用堆棧檢查字符串
import java.util.Stack;
公共類的測試{
public static void main(String[] args) {
String line = "(<>()[])";
Test test = new Test();
boolean res = test.stringChecker(line);
System.out.println(res);
}
public boolean stringChecker(String line){
boolean result = false;
char letter = '\u0000';
char[] arr = line.toCharArray();
Stack<Character> stack = new Stack();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == '(' || arr[i] == '[' || arr[i] == '<') {
stack.push(arr[i]);
}
if(arr[i] == ')' || arr[i] == ']' || arr[i] == '>'){
if(stack.peek() == arr[i]){
result = true;
stack.pop();
}
}
}
return result;
}
}
非常感謝! – Sergey