Leetcode 572 另乙個樹的子樹

2021-08-29 20:27:36 字數 1198 閱讀 9190

題目描述:

給定兩個非空二叉樹st,檢驗s中是否包含和t具有相同結構和節點值的子樹。s的乙個子樹包括s的乙個節點和這個節點的所有子孫。s也可以看做它自身的一棵子樹。

示例 1:

給定的樹 s:

3

/ \4 5

/ \1 2

給定的樹 t:

4 

/ \1 2

返回true,因為 t 與 s 的乙個子樹擁有相同的結構和節點值。

示例 2:

給定的樹 s:

3

/ \4 5

/ \1 2

/0

給定的樹 t:

4

/ \1 2

返回false

本題可以寫得更為簡單,但是理解起來不太容易,例如一下部落格得做法:

但是我仔細看來,其實原理都是一樣的,只不過通過程式設計技巧使得**簡潔,一下**是我認為最容易理解的,已經不記得是在誰的部落格上看到的了,感謝原來分享的博主。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

return issubtree(s->left,t)||issubtree(s->right,t);

}private:

bool issame(treenode* s,treenode* t)

else if(s==null && t!=null)

else if(s!=null &&t==null)

else

}return issame(s->left,t->left) && issame(s->right,t->right);

}};

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 的乙個子樹擁有相同的結構和節點值。示例 2 給定...

LeetCode 572 另乙個樹的子樹

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