題目:
題解:
- 利用二叉樹的層序遍歷來尋找最後一層的最左邊節點的值,注意進隊列方式爲從右至左的,這樣保證最後的p爲最後一層的最左邊的節點。
代碼如下:
class Solution {
public:
//層序遍歷:從右至左,這樣最後一個節點的值就是最左下角的值
int findBottomLeftValue(TreeNode* root) {
if(!root)return -1;
queue<TreeNode*> q;
q.push(root);
TreeNode* p=nullptr;
while(!q.empty()){
p=q.front();q.pop();
if(p->right)q.push(p->right);
if(p->left)q.push(p->left);
}
//p爲最後一層最左邊的節點
return p->val;
}
};