二刷hot100-101.对称二叉树

二刷hot100-101.对称二叉树 递归写法终止条件有很多左右节点都为空返回true有一方为空或者值不相等返回false如果都不满足进入下一层递归左的左和右的右比较左的右和右的左比较/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val val; * this.left left; * this.right right; * } * } */ class Solution { public boolean isSymmetric(TreeNode root) { if(root null){ return false; } return f(root.left,root.right); } public boolean f(TreeNode left,TreeNode right){ if(left null right null){ return true; }else if(left null right ! null){ return false; }else if(left ! null right null){ return false; }else if(left.val ! right.val){ return false; }else{ return f(left.left,right.right) f(left.right,right.left); } } }