首页 > 代码库 > [LeetCode]513 Find Bottom Left Tree Value(BFS)
[LeetCode]513 Find Bottom Left Tree Value(BFS)
题目链接:https://leetcode.com/problems/find-bottom-left-tree-value/?tab=Description
题意:找到二叉树里最底下的最靠左的叶子节点的值。
看到input的时候吓哭了,以为是要处理这种输入。看到代码填空部分才缓过来…
直接bfs,遇到更深的就更新,每次都让最左的先入队列。就能保证每次更新到的答案都是最左的。
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 public: 12 typedef pti pair<TreeNode*, int>; 13 int findBottomLeftValue(TreeNode* root) { 14 queue<pti> q; 15 q.push(pti(root, 0)); 16 pti ret(NULL, -1); 17 while(!q.empty()) { 18 pti f = q.front(); q.pop(); 19 if(f.first->left) q.push(pti(f.first->left, f.second+1)); 20 if(f.first->right) q.push(pti(f.first->right, f.second+1)); 21 if(ret.second < f.second) { 22 ret = f; 23 } 24 } 25 return ret; 26 } 27 };
[LeetCode]513 Find Bottom Left Tree Value(BFS)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。