构建二叉树 mirror中序遍历 A了     static String solution(String input) {         TreeNode node = solutionSub(input);         String result = treeMid(node);         return result;     }     public static String treeMid(TreeNode head) {         StringBuilder sb = new StringBuilder();         if (head == null) return null;         TreeNode cur1 = head;         TreeNode cur2 = null;         while (cur1 != null) {             cur2 = cur1.left;             if (cur2 != null) {                 while (cur2.right != cur1 && cur2.right != null) {                     cur2 = cur2.right;                 }                 if (cur2.right != cur1) {                     cur2.right = cur1;                     cur1 = cur1.left;                     continue;                 } else {                     cur2.right = null;                 }             }             sb.append(cur1.val);             cur1 = cur1.right;         }         return sb.toString();     }     static TreeNode solutionSub(String input) {         if (input == null || input.length() == 0) return null;         Integer i = Integer.valueOf(input.substring(0, 1));         TreeNode node = new TreeNode(i);         if (input.length() > 1) {             String child = input.substring(2, input.length() - 1);             int left = 0;             int right = 0;             int mid = 0;             for (int j = 0; j < child.length(); j++) {                 if (child.charAt(j) == '(') {                     left++;                     continue;                 }                 if (child.charAt(j) == ')') {                     right++;                     continue;                 }                 if (child.charAt(j) == ',' && left == right) {                     mid = j;                     break;                 }             }             String leftChild = child.substring(0, mid);             String rightChild = child.substring(mid + 1);             TreeNode le = solutionSub(leftChild);             TreeNode ri = solutionSub(rightChild);             node.left = le;             node.right = ri;         }         return node;     }
点赞 评论

相关推荐

牛客网
牛客企业服务