树的子结构

题目描述

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
见leetcode572
 
//用先序遍历的方法,本解法思路:s的值和t的值不同则跳出,相同,则继续比左子树,直到都指向空。才判定两者值相等
class Solution {
    public boolean isSubtree(TreeNode s, TreeNode t) {
       if (s == null) return false;
       if (isSame(s, t)) return true;
       return isSubtree(s.left, t) || isSubtree(s.right, t);
    }
    public boolean isSame(TreeNode s, TreeNode t) {
       if (s == null && t == null) return true;
       if (s == null || t == null) return false;
       if (s.val != t.val) return false;
       return isSame(s.left, t.left) && isSame(s.right, t.right);
    }
}
 
 
posted @   MarkLeeBYR  阅读(104)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示