LeetCode572 另一顆樹的子樹

2021-10-05 20:09:11 字數 790 閱讀 3882

先做leetcode100,判斷兩棵樹是否相同,再來做這個思路會快捷很多

這個思路:

t是s,t是s的左子樹,t是s的右子樹 返回true

因為題目說了,s,t都非空,s是母樹,t是子樹。少了很多麻煩

直接上**。我的注釋應該很清楚

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

// 如果上面沒有返回值,說明必有乙個沒有為空(有可能兩個都不為空)

if(s == null || t == null)

// 如果判斷到了這一步,說明兩個都不為空

// 先序遍歷 自己--左 -- 右

if(s.val != t.val)

return

issametree

(s.left,t.left)

&&issametree

(s.right,t.right);}

public

boolean

issubtree

(treenode s, treenode t)

// 短路運算子,有乙個為真,返回真

return

issametree

(s,t)

||issubtree

(s.left,t)

||issubtree

(s.right,t);}

}

leetcode 572 另乙個樹的子樹

在樹的遍歷中,時刻警惕每一處需要訪問的有沒有可能是null,如果null怎麼處理 判斷指標是不是null既能避免訪問空指標而造成程式崩潰,同時也經常能設定遞迴的退出條件 接著先審題 給定兩個非空二叉樹 s 和 t,檢驗s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節...

Leetcode 572 另乙個樹的子樹

題目描述 給定兩個非空二叉樹s和t,檢驗s中是否包含和t具有相同結構和節點值的子樹。s的乙個子樹包括s的乙個節點和這個節點的所有子孫。s也可以看做它自身的一棵子樹。示例 1 給定的樹 s 3 4 5 1 2給定的樹 t 4 1 2返回true,因為 t 與 s 的乙個子樹擁有相同的結構和節點值。示例...

LeetCode 572 另乙個樹的子樹

給定兩個非空二叉樹s和t,檢驗s中是否包含和t具有相同結構和節點值的子樹。s的乙個子樹包括s的乙個節點和這個節點的所有子孫。s也可以看做它自身的一棵子樹。示例 1 給定的樹 s 3 4 5 1 2給定的樹 t 4 1 2返回true,因為 t 與 s 的乙個子樹擁有相同的結構和節點值。示例 2 給定...