判断二叉树是否对称

判断二叉树是否对称

题目描述

给定一棵二叉树,判断琪是否是自身的镜像(即:是否对称)
例如:下面这棵二叉树是对称的
1
/
2 2
/ \ /
3 4 4 3
下面这棵二叉树不对称。
1
/
2 2
\
3 3

代码

import java.util.*;

/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */

public class Solution { 
    /** * * @param root TreeNode类 * @return bool布尔型 */
    public boolean isSymmetric (TreeNode root) { 
        // write code here
        if(root == null) return true;
        return isSymmetricNode(root.left, root.right);
    }
    
    public boolean isSymmetricNode(TreeNode node1, TreeNode node2){  
        if(node1==null&&node2==null) return true;
        else if(node1==null || node2==null) return false;
        else if(node1.val != node2.val) return false;
        else return isSymmetricNode(node1.left, node2.right)
            && isSymmetricNode(node1.right,node2.left);
    }
}
    原文作者:chenchenshi73
    原文地址: https://blog.csdn.net/chechenshi/article/details/114376246
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞