Goal Parser Interpretation (LeetCode)
You own a Goal Parser that can interpret a string command
. The command
consists of an alphabet of "G"
, "()"
and/or "(al)"
in some order. The Goal Parser will interpret "G"
as the string "G"
, "()"
as the string "o"
, and "(al)"
as the string "al"
. The interpreted strings are then concatenated in the original order.
Given the string command
, return the Goal Parser's interpretation of command
.
Example 1:
Input: command = "G()(al)" Output: "Goal" Explanation: The Goal Parser interprets the command as follows: G -> G () -> o (al) -> al The final concatenated result is "Goal".
Example 2:
Input: command = "G()()()()(al)" Output: "Gooooal"
SOLUTION (Java):
class Solution {
public String interpret(String command) {
String a=command.replace("()","o");
String b=a.replace("(al)","al");
return b;
}
}
class Solution {
public String interpret(String command) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < command.length(); i++) {
char ch = command.charAt(i);
if (ch == 'G') sb.append('G');
if (ch == '(') {
if (command.charAt(i + 1) == 'a') {
i += 3;
sb.append("al");
} else {
i++;
sb.append('o');
}
}
}
return sb.toString();
}
}
Comments
Post a Comment