JAVA 字符串表达式展开
- 笔试完华为笔试题,有一道简单题当时没有做出来,现在来写写,题目描述大概如下
- 给出一个表达式 s,此表达式包括数字,字母以及方括号。在方括号前的数字表示方括号内容的重复次数(括号内的内容可以是字符串或另一个表达式),请将这个表达式展开成一个字符串。其中括号可以嵌套,括号包含大括号,中括号,小括号,其中括号前面必然含有数字,不会出现数字后面没有括号的情况,最后逆序输出展开的字符串。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class StringUtil {
public static void main(String[] args) {
String str = "abc3(A)";
StringBuilder tempStr = new StringBuilder(str);
while (cont(tempStr)) {
tempStr = test(tempStr);
}
System.out.println(tempStr.reverse());
}
public static boolean cont(StringBuilder tempStr) {
String temp = tempStr.