Untitled
unknown
plain_text
8 months ago
1.8 kB
4
Indexable
import java.util.Stack;
public class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
// Traverse each character in the string
for (char c : s.toCharArray()) {
stack.push(c);
// Check if the last three characters in the stack form "abc"
if (stack.size() >= 3) {
char third = stack.pop();
char second = stack.pop();
char first = stack.pop();
// If the last three characters do not form "abc", push them back
if (first != 'a' || second != 'b' || third != 'c') {
stack.push(first);
stack.push(second);
stack.push(third);
}
}
}
// If the stack is empty, the string is valid
return stack.isEmpty();
}
}
public class Solution {
public boolean isValid(String s) {
// Use a stack to simulate the construction of the string
StringBuilder stack = new StringBuilder();
// Traverse each character in the string
for (char c : s.toCharArray()) {
// Append the character to the stack
stack.append(c);
// Check if the last three characters form "abc"
if (stack.length() >= 3 &&
stack.charAt(stack.length() - 3) == 'a' &&
stack.charAt(stack.length() - 2) == 'b' &&
stack.charAt(stack.length() - 1) == 'c') {
// Remove the last three characters
stack.setLength(stack.length() - 3);
}
}
// If the stack is empty, the string is valid
return stack.length() == 0;
}
}
Editor is loading...
Leave a Comment