606. 根据二叉树创建字符串
你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。
空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。
题目链接
class Solution {
public void preOrder(StringBuilder str, TreeNode node)
{
if (node != null)
{
str.append(node.val);
if (node.left == null && node.right == null)
{
} else if (node.left != null && node.right == null)
{
str.append("(");
preOrder(str, node.left);
str.append(")");
} else
{
str.append("(");
preOrder(str, node.left);
str.append(")");
str.append("(");
preOrder(str, node.right);
str.append(")");
}
}
}
public String tree2str(TreeNode t)
{
StringBuilder ret = new StringBuilder();
preOrder(ret, t);
return ret.toString();
}
}