[二叉树的层序遍历]leetcode513:找树左下角的值(medium)

题目:

513. 找树左下角的值

题解:

  • 利用二叉树的层序遍历来寻找最后一层的最左边节点的值,注意进队列方式为从右至左的,这样保证最后的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;
    }
};
发布了484 篇原创文章 · 获赞 149 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_43152052/article/details/103917413
今日推荐