美文网首页
剑指 Offer 第26题:树的子结构

剑指 Offer 第26题:树的子结构

作者: 放开那个BUG | 来源:发表于2022-07-18 22:41 被阅读0次

    1、前言

    题目描述

    2、思路

    很朴素的思路,就是先比较 A 和 B 节点,然后再比 A.left 和 B、以及 A.right 和 B。

    3、代码

    class Solution {
         public boolean isSubStructure(TreeNode A, TreeNode B) {
            if(A == null || B == null){
                return A == B;
            }
            return dfs1(A, B) || isSubStructure(A.left, B) || isSubStructure(A.right, B);
        }
        
        private boolean dfs1(TreeNode A, TreeNode B){
            if(B == null){
                return true;
            }
            if(A == null){
                return A == B;
            }
            if(A.val != B.val){
                return false;
            }
            return dfs1(A.left, B.left) && dfs1(A.right, B.right);
        }
    }
    

    相关文章

      网友评论

          本文标题:剑指 Offer 第26题:树的子结构

          本文链接:https://www.haomeiwen.com/subject/fznbbrtx.html