ETH官方钱包

前往
大廳
主題

LeetCode - 965. Univalued Binary Tree 解題心得

Not In My Back Yard | 2021-02-25 00:00:03 | 巴幣 0 | 人氣 92

題目連結(jié):


題目意譯:
一個二元樹為單值的,如果其滿足樹上所有節(jié)點值都相同。

回傳真(True)若且唯若給定的樹為單值的。

注:
給定樹之節(jié)點數(shù)位於範(fàn)圍 [1, 100] 中。
每個節(jié)點值位於範(fàn)圍 [0, 99] 中。



範(fàn)例測資:
範(fàn)例 1:
輸入: [1,1,1,1,1,null,1]
輸出: true

範(fàn)例 2:
輸入: [2,2,2,5,2]
輸出: false


解題思維:
可以寫成簡單的遞迴:
IsUni(TreeNode *root):
  如果 root 為空節(jié)點,則回傳真。
  如果左子樹或右子樹不是單值的,即
    !IsUni(root->left) || !IsUni(root->right),
    代表整個樹不是單值,因此回傳假(False)。
  如果左右子樹之根節(jié)點之一的值不等於 root->val,則回傳假。
  上述皆非,則回傳真。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創(chuàng)作回應(yīng)

追蹤 創(chuàng)作集

作者相關(guān)創(chuàng)作

更多創(chuàng)作