[LeetCode]513 Find Bottom Left Tree Value(BFS)
Posted tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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)的主要内容,如果未能解决你的问题,请参考以下文章
513. Find Bottom Left Tree Value - LeetCode
leetcode 513. Find Bottom Left Tree Value
[LeetCode]513 Find Bottom Left Tree Value(BFS)
[LeetCode] 513. Find Bottom Left Tree Value