LeetCode:101、对称二叉树

递归法:

java 复制代码
/**
 * 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 true;
        return compare(root.left,root.right);
    }
    public boolean compare(TreeNode left,TreeNode right){
        if(left==null&&right!=null)return false;//左空右不空,非对称
        else if(left!=null&&right==null)return false;//右空左不空,非对称
        else if(left==null&&right==null)return true;//左空右空,对称
        else if(left.val!=right.val)return false;//左值≠右值,非对称
        
        boolean outside=compare(left.left,right.right);
        boolean inside=compare(left.right,right.left);
        boolean isSame=outside&&inside;
        return isSame;
    }
}
相关推荐
小欣加油1 小时前
leetcode 1863 找出所有子集的异或总和再求和
c++·算法·leetcode·职场和发展·深度优先
十八岁讨厌编程1 小时前
【算法训练营Day27】动态规划part3
算法·动态规划
炬火初现2 小时前
Hot100-哈希,双指针
算法·哈希算法·散列表
weixin_307779133 小时前
利用复变函数方法计算常见函数的傅里叶变换
算法
来不及辣哎呀3 小时前
苍穹外卖项目面试总结话术
面试·职场和发展
共享家95274 小时前
LeetCode热题100(1-7)
算法·leetcode·职场和发展
新学笺4 小时前
数据结构与算法 —— Java单链表从“0”到“1”
算法
同元软控4 小时前
首批CCF教学案例大赛资源上线:涵盖控制仿真、算法与机器人等9大方向
算法·机器人·工业软件·mworks
yiqiqukanhaiba5 小时前
Linux编程笔记2-控制&数组&指针&函数&动态内存&构造类型&Makefile
数据结构·算法·排序算法
PKNLP5 小时前
逻辑回归(Logistic Regression)
算法·机器学习·逻辑回归