101 對稱二叉樹(BFS DFS C )

2021-10-06 05:54:20 字數 924 閱讀 1662

給定乙個二叉樹,檢查它是否是映象對稱的。

例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。

1

/ \2 2

/ \ / \

3 4 4 3

思路 - 遞迴(dfs)

需要兩個指標來映象比較。

乙個指標root1在左子樹,另乙個指標root2在右子樹;

比較root1->left == root2->right 和 root1->right == root2->left,也就是映象比較。

時間複雜度:o(n)

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

private

:bool

dfs(treenode* root1, treenode* root2)

};

思路 - bfs

如果是滿二叉樹,只需要判斷每一層的資料是否回文。但現在不是滿二叉樹,需要對空節點的值用其他值代替。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

//if(node->left) q.push(node->left);

//if(node->right) q.push(node->right);

}for

(int i=

0;i2;i++)}

return

true;}

};

101 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。思路 遞迴就用dfs,迭代是b...

101 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。解題思路 對稱二叉樹可以理解...

101 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3 說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。使用輔助空間佇列 defi...