题目
解答
class Solution {public void preorder(TreeNode node, StringBuilder sb) {if (node == null) {return;}sb.append(node.val);if (node.left == null && node.right == null) {return;}sb.append("(");preorder(node.left, sb);sb.append(")");if (node.right != null) {sb.append("(");preorder(node.right, sb);sb.append(")");}}public String tree2str(TreeNode t) {StringBuilder sb = new StringBuilder();preorder(t, sb);return sb.toString();}
}
要点
使用前序遍历来实现。
注意题目的要求:
- 假如左子树为空且右子树不为空,则左子树使用
()
表示。 - 假如左子树不为空,且右子树为空,则右子树的输出被忽略。