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

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

示例 1:

输入: 二叉树: [1,2,3,4]
1
/ \
2 3
/
4 输出: "1(2(4))(3)" 解释: 原本将是“1(2(4)())(3())”,
在你省略所有不必要的空括号对之后,
它将是“1(2(4))(3)”。

示例 2:

输入: 二叉树: [1,2,3,null,4]
1
/ \
2 3
\
4 输出: "1(2()(4))(3)" 解释: 和第一个示例相似,
除了我们不能省略第一个对括号来中断输入和输出之间的一对一映射关系。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public String tree2str(TreeNode t) {
if (t == null)
return "";
else if (t.left == null && t.right == null)
return String.valueOf(t.val); String left = "(" + tree2str(t.left) + ")";
String right = "(" + tree2str(t.right) + ")"; if (right.equals("()"))
return t.val + left;
else
return t.val + left + right;
}
}

最新文章

  1. SQL Server常见问题介绍及快速解决建议
  2. java网络流传输,中文乱码问题。
  3. jQuery添加删除元素
  4. SpringMVC 产品笔记
  5. PF_RING 实验
  6. 【BZOJ】【1036】树的统计
  7. H264码流解析及NALU
  8. Sample Ant Build File - WAR--reference
  9. 利用SQL进行推理
  10. hello,world不使用ARC
  11. HDU 5922 Minimum’s Revenge 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)
  12. arraylist的使用
  13. VS2012 TFS切换账号登录
  14. OCP-1Z0-051-题目解析-第33题
  15. hdu 5015 233 Matrix(构造矩阵)
  16. 通常编译亲测56Y国际象棋源代码,精仿56Y国际象棋完整的源代码下载!
  17. HDU 5963 博弈
  18. eclipse配置maven + 创建maven项目(三)
  19. No Java compiler available
  20. Win10 - MySQL 10061 错误

热门文章

  1. 在Linux下配置.net网站
  2. IntelliJ IDEA 注册码及相关资源
  3. quartz.net结合Topshelf实现windows service服务托管的作业调度框架
  4. CodeForces 690C1 Brain Network (easy) (水题,判断树)
  5. Hadoop(HDFS、YARN、HBase、Hive和Spark等)默认端口表
  6. Assigning retained object to weak property object will be released after assignment
  7. 【Linux】GDB查看栈信息(转)
  8. 基于Qt5 跨平台应用开发
  9. MVC4 路由解析 同名Controller的解决方案
  10. Partition--分区切换