// 递归 全A public class Solution { //1(2(3,4(,5)),6(7,)) /*请完成下面这个函数,实现题目要求的功能 当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^  ******************************开始写代码******************************/     public static String getLeft(String s) {         if(s.charAt(2) == ',')             return null;         if(s.charAt(3) == ',')             return s.substring(2, 3);         Stack<Character> stack = new Stack<Character>();         for (int i = 2; i < s.length(); i++) {             char c = s.charAt(i);             if(c == '(')                 stack.push(c);             else if(c == ')') {                 stack.pop();                 if(stack.isEmpty()) {                     return s.substring(2, i+1);                 }             }         }         return s.substring(2, s.indexOf(','));     }          public static String getRight(String s) {         if(s.charAt(2) == ',')             return s.substring(s.indexOf(',') + 1, s.length() - 1);         if(s.charAt(3) == ',')             return s.substring(s.indexOf(',') + 1, s.length() - 1);         Stack<Character> stack = new Stack<Character>();         for (int i = 2; i < s.length(); i++) {             char c = s.charAt(i);             if(c == '(')                 stack.push(c);             else if(c == ')') {                 stack.pop();                 if(stack.isEmpty()) {                     return s.substring(i + 2, s.length() - 1);                 }             }         }         return s.substring(s.indexOf(',') + 1, s.length() - 1);     }          public static void Travese(String s) {         if(s == null || s.equals("")) return;                  if(s.length() == 1) {             System.out.print(s.charAt(0));             return;         }         String left = getLeft(s);         Travese(left);         System.out.print(s.charAt(0));         String right = getRight(s);         Travese(right);     }      //    static String solution(String input) { //         //    } /******************************结束写代码******************************/     public static void main(String[] args){         Scanner in = new Scanner(System.in);         String res;                      String _input;         try {             _input = in.nextLine();         } catch (Exception e) {             _input = null;         }            Travese(_input);         //res = solution(_input);         //System.out.println(res);     } }
点赞 1

相关推荐

找到实习了&nbsp;给了150一天&nbsp;但是说是低代码&nbsp;值得去吗
码农索隆:是在没实习,可去,待个一两周,不行就润呗
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务