513. Find Bottom Left Tree Value 树 BFS

来源:互联网 发布:淘宝判定为广告的评价 编辑:程序博客网 时间:2024/05/28 11:50

Given a binary tree, find the leftmost value in the last row of the tree.

Example 1:

Input:    2   / \  1   3Output:1

Example 2: 

Input:        1       / \      2   3     /   / \    4   5   6       /      7Output:7

Note: You may assume the tree (i.e., the given root node) is not NULL.

我的思路:

1 使用层序遍历一定能够遍历到最左边的数,而且这个时候队列中只有一个元素。但是注意的是,为了最后弹出的是最左边的数,遍历顺序是从右到左

class Solution {public:    int findBottomLeftValue(TreeNode* root) {        int res=0;          queue<TreeNode*> q;          q.push(root);          while(!q.empty())          {              int n=q.size();              while(n--)              {                  TreeNode* cur=q.front();                  res=cur->val;                q.pop();                  if(cur->right) q.push(cur->right);                  if(cur->left) q.push(cur->left);              }                    }          return res;      }};



原创粉丝点击