У меня есть определенная задача. У нас есть String как "(() [] <>)" или что-то знакомое с этим. Вопрос в моем интервью состоял в том, как проверить правильность или неправильность строки. Например: "() [] <>" - true, "([)" - false, "[(])" - false, "([<>])" - true. Спасибо вам, ребята! Я не могу понять, что не так с моим кодом. Спасибо, много парней !!! Пожалуйста, помогите!Как проверить строку, используя стек
импорт java.util.Stack;
общественного класса Test {
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