Medium:Find Bottom Left Tree Value

来源:互联网 发布:可以画画的软件 编辑:程序博客网 时间:2024/06/11 14:03

513. Find Bottom Left Tree Value

题目:

Given a binary tree, find the leftmost value in the last row of the tree.Example 1:Input:    2   / \  1   3Output:1Example 2: Input:        1       / \      2   3     /   / \    4   5   6       /      7Output:7Note: You may assume the tree (i.e., the given root node) is not NULL.

代码如下:

class Solution {public:    int findLeftMostNode(TreeNode* root) {        queue<TreeNode*> q;        queue<int> level;        q.push(root);        level.push(0);        int m=0;        while(q.size()){            TreeNode *r = q.front(); q.pop();            int l = level.front(); level.pop();            if(r->left) {                q.push(r->left);                level.push(l+1);            }            if(r->right){                q.push(r->right);                level.push(l+1);            }            if(l > m){                m = l;                root = r;            }        }        return root->val;    }};
  • 运用BFS算法;
  • 与上一道题解法类似。
0 0