力扣 面试题28. 对称的二叉树(递归)
Posted 小布丁value
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了力扣 面试题28. 对称的二叉树(递归)相关的知识,希望对你有一定的参考价值。
面试题28. 对称的二叉树(递归)
- 请实现一个函数,用来判断一棵二叉树是不是对称的
- 如果一棵二叉树和它的镜像一样,那么它是对称的。
- 解题思路:
- 对于二叉树的定义,对于两个任意对称的结点V和L V.val=R.val;
- 1.V.left.val=R.right.val;
- 2.V.right.val=R.right.val;
- 考虑特殊情况:
- 1.左右都为NULL对称
- 2.在1.前提下,即左右一定不都是NULL,左右只有一方是null 不对称
- 3.递归继续遍历
图解:
public class Offer28 {
public boolean isSymmetric(TreeNode root){
return (root==null)?true:recur(root.left,root.right);
}
boolean recur(TreeNode L,TreeNode R){
if(L==null&&R==null) return true;
if(L==null||R==null||L.val!=R.val) return false;
return recur(L.left,R.right)&&recur(L.right,R.left);
}
}
以上是关于力扣 面试题28. 对称的二叉树(递归)的主要内容,如果未能解决你的问题,请参考以下文章