2016年12月23日 星期五

[LeetCode] 100. Same Tree

轉自LeetCode

Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
<Solution>

這題是要比較兩個 binary tree 是否一樣

可以用 DFS 來解這道題目,想法如下
  • 兩個 node 都是 NULL 的時候,回傳 true
  • 只有一個有值,或是兩個的值不一樣,就回傳 false
  • 比完當前的值,檢查左子樹和右子樹是不是也一樣
code 如下
c++

kotlin

這題還可以用 binary tree traversal 的方式去解,有 inorder、preorder、postorder 可以選

在 traverse 的同時,檢查值和樹的結構是否一樣即可

這邊使用 preorder traversal 的方式,code 如下

沒有留言:

張貼留言