// 递归 全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

相关推荐

扉川川:查看图片
投递用友等公司10个岗位
点赞 评论 收藏
分享
星期一的大老师:项目描述 和 技术栈单开一栏;八股文:算法与数据结构,计算机网络一定要写,操作系统不了解可以不写;Linux命令,Git,Docker基础命令和基本使用一定要写,要有实际使用场景的解决经验;项目的八股文上:redis 解决 缓存雪崩,缓存击穿,缓存穿透的解决方案,一个问题的不同方案可以一起用,不需要重复在两个项目写。第二个项目换一个。小厂可以投一投
投了多少份简历才上岸
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务