/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution
{
public:
int findBottomLeftValue(TreeNode* root) //通过层次遍历来实现
{
// if(root==nullptr) return; 因为假设了根节点不为零
queue<TreeNode*> q;
stack<int> s; //存放最左边的元素值;先进后出,因此输出最后一个进来的即可
q.push(root);
while(!q.empty())
{
int count=q.size();
s.push(q.front()->val);
while(count>0) //count为每层计数
{
TreeNode* temp=q.front();
q.pop(); //类似于层次遍历的操作
--count;
if(temp->left) q.push(temp->left);
if(temp->right) q.push(temp->right);
}
}
return s.top();
}
};
leetcode 513 找出树的左下角的值
最新推荐文章于 2024-07-23 18:55:59 发布