剑指 Offer 28. 对称的二叉树

剑指 Offer 28. 对称的二叉树

难度:简单
题目描述
剑指 Offer 28. 对称的二叉树_第1张图片
解题思路
这个总结的好好啊
剑指 Offer 28. 对称的二叉树_第2张图片
左右子树同时等于空,说明匹配完成了,都一样;
如果其中一个为空另外一个还没,说明没匹配上;
如果都不为空,就判断对应的值是否相等,对应的值相等,再判断孩子是不是满足以上镜像条件

 /*
				  * 剑指 Offer 28. 对称的二叉树
				  * 2020/8/7
				  * 难度:简单
				  */
				 public boolean isSymmetric(TreeNode root) {
					 //空树是对称二叉树
					 if(root == null)
						 return true;
					 return isSymmetricHelper(root.left, root.right);
					 
				    }
				 
				 public boolean isSymmetricHelper(TreeNode left,TreeNode right) {
					 
					 if(left == null && right == null)
						 return true;
					 if(left == null || right == null)
						 return false;
					 if(left.val != right.val)
						 return false;
					 
					return left.val == right.val && isSymmetricHelper(left.left, right.right) && isSymmetricHelper(left.right, right.left);
				 }

剑指 Offer 28. 对称的二叉树_第3张图片

你可能感兴趣的:(力扣刷题笔记)