13、C++算法之代码随想录(二叉树)——找树左小角的值
·
1.问题
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。
假设二叉树中至少有一个节点。
示例 1:

输入: root = [2,1,3] 输出: 1
2.思路
使用层序遍历遍历二叉树,最后一层的第一个节点即为最底层最左侧的值,在遍历过程中用一个变量更新存储每一层第一个节点的值,最后返回该变量。
3.代码实现
int findBottomLeftValue(TreeNode* root) {
int value = 0;
queue<TreeNode*> record; //先进先出
if(root!=nullptr) record.push(root);
while(!record.empty())
{
int size = record.size(); //大小
for(int i=0;i<size;i++) //遍历当前层的节点
{
TreeNode* temp = record.front();
record.pop();
if(i==0) value = temp->val;
if(temp->left) record.push(temp->left);
if(temp->right) record.push(temp->right);
}
}
return value;
}
更多推荐


所有评论(0)