LintCode 等價二叉樹

2021-07-30 23:08:07 字數 1640 閱讀 1382

1.描述

檢查兩棵二叉樹是否等價。等價的意思是說,首先兩棵二叉樹必須擁有相同的結構,並且每個對應位置上的節點上的數都相等。

哪家公司問你的這個題?

樣例

1             1

/ \ / \

2 2 and 2 2

/ /

4 4

就是兩棵等價的二叉樹。

1             1

/ \ / \

2 3 and 2 3

/ \

4 4

就不是等價的。

2.分析

該題和轉殖二叉樹有異曲同工之秒,兩顆二叉樹必須擁有相同的結構,並且對應位置上的節點值也相同。

先判斷當前節點的值是否相同,之後按照相同的結構走下去判斷後面的節點值是否也相同。

下面給出我兩個ac**,第乙個**在函式外定義了乙個全域性變數flag作為標誌,第二個**直接定義了

bool函式。相比之下,好像第二個高階大氣一點o(∩_∩)o~

3.**

(1)/*** definition of treenode:

* class treenode

* }*/

class solution

if(b==null)

if(a->val!=b->val)

flag=1;

//coutleft);

panduan(a->right,b->right);

}bool isidentical(treenode* a, treenode* b)

};(2)

/*** definition of treenode:

* class treenode

* }*/

class solution

bool isidentical(treenode* a, treenode* b)

};4.總結

等價二叉樹,只有當兩棵樹結構和對應位置的節點值都相同時才等價。因此當前節點值比較完後

兩棵樹的節點應該按照同樣的結構遍歷子樹進而繼續判斷節點值。當兩個節點都為空時雖然沒有

節點值但他們也是相等的。

LintCode 等價二叉樹

題目描述 檢查兩棵二叉樹是否等價。等價的意思是說,首先兩棵二叉樹必須擁有相同的結構,並且每個對應位置上的節點上的數都相等。樣例 1 1 2 2 and 2 2 4 4 就是兩棵等價的二叉樹。1 1 2 3 and 2 3 4 4就不是等價的。做題思路 本題給出的bool型別的函式來判斷二叉樹是否等價...

lintcode 等價二叉樹

1 題目 檢查兩棵二叉樹是否等價。等價的意思是說,首先兩棵二叉樹必須擁有相同的結構,並且每個對應位置上的節點上的數都相等。樣例 1 1 2 2 and 2 2 4 4就是兩棵等價的二叉樹。1 1 2 3 and 2 3 4 4就不是等價的。2 思路 對兩課二叉樹從以下幾種情況考慮 兩個均空,true...

Lintcode 等價二叉樹

1 問題描述 檢查兩棵二叉樹是否等價。等價的意思是說,首先兩棵二叉樹必須擁有相同的結構,並且每個對應位置上的節點上的數都相等。樣例 1 1 2 2 and 2 2 4 4就是兩棵等價的二叉樹。1 1 2 3 and 2 3 4 4 2 解題思路 從根節點開始判斷兩顆樹是否相等,先判斷結構是否相等,在...