題572.另一個樹的子樹

給定兩個非空二叉樹 s 和 t,檢驗 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。

方法一:DFS 暴力匹配

思路和算法

這是一種最樸素的方法 —— DFS 枚舉 s 中的每一個節點,判斷這個點的子樹是否和 t 相等。如何判斷一個節點的子樹是否和 t 相等呢,我們又需要做一次 DFS 來檢查,即讓兩個指針一開始先指向該節點和 t

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章