題目連結(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,則回傳假。
上述皆非,則回傳真。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。