zoukankan      html  css  js  c++  java
  • Leetcode 606.根据二叉树创建字符串

    根据二叉树创建字符串

    你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。

    空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。

    示例 1:

    输入: 二叉树: [1,2,3,4]

    输出: "1(2(4))(3)"

    解释: 原本将是"1(2(4)())(3())",

    在你省略所有不必要的空括号对之后,

    它将是"1(2(4))(3)"。

    示例 2:

    输入: 二叉树: [1,2,3,null,4]

    输出: "1(2()(4))(3)"

    解释: 和第一个示例相似,

    除了我们不能省略第一个对括号来中断输入和输出之间的一对一映射关系。

    思路

     1 /**
     2  * Definition for a binary tree node.
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 public class Solution {
    11     public String tree2str(TreeNode t) {
    12         if(t==null)
    13             return "";
    14         if(t.left==null && t.right==null)
    15             return t.val+"";
    16         if(t.right==null)
    17             return t.val+"("+tree2str(t.left)+")";
    18         return t.val+"("+tree2str(t.left)+")("+tree2str(t.right)+")";
    19     }
    20 }

  • 相关阅读:
    2019年春季第四周作业
    第三周作业
    第二周作业
    最大值及其下标
    查找整数
    PTA3
    币值转换
    三位老师
    自我介绍
    poj 3278 Catch That Cow(bfs)
  • 原文地址:https://www.cnblogs.com/kexinxin/p/10381418.html
Copyright © 2011-2022 走看看