1.问题

513. 找树左下角的值 - 力扣(LeetCode)

给定一个二叉树的 根节点 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;
    }

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐