특정 작업이 있습니다. 우리는 "(() [] <>) 또는 이와 유사한 것에 대한 문자열을 가지고 있습니다. 인터뷰 질문 중 하나는 String이 맞는지 틀리는지를 확인하는 방법이었습니다. 예 : "() [] <" "- true,"([) "- false,"(()) "- false,"([<>]) "- 참입니다. 너희들 대단히 고마워! 내 코드에 문제가있을 수 없습니다. 많은 분들께 감사드립니다 !!! 도와주세요!스택을 사용하여 문자열을 확인하는 방법
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