Leetcode 606.根据二叉树创建字符串
Posted kexinxin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }
以上是关于Leetcode 606.根据二叉树创建字符串的主要内容,如果未能解决你的问题,请参考以下文章