/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
private TreeNode root;
private StringBuilder leftNumber;
private StringBuilder rightNumber;
public boolean isSymmetric(TreeNode root) {
if(root==null)
{
return true;
}
leftNumber=new StringBuilder();
rightNumber=new StringBuilder();
this.root=root;
leftFirst(root.left);
rightFirst(root.right);
return leftNumber.toString().equals(rightNumber.toString());
}
public void leftFirst(TreeNode inNode)
{
if(inNode==null)
{
leftNumber.append('#');
return;
}
if(inNode==root)
{
return;
}
leftNumber.append(inNode.val);
leftFirst(inNode.left);
leftFirst(inNode.right);
}
public void rightFirst(TreeNode inNode)
{
if(inNode==null)
{
rightNumber.append('#');
return;
}
if(inNode==root)
{
return;
}
rightNumber.append(inNode.val);
rightFirst(inNode.right);
rightFirst(inNode.left);
}
}
遇到错误
1空树
2stringbuilder不能直接调用equals函数,要转成String再计较