513. 找树左下角的值

给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。

假设二叉树中至少有一个节点。

示例 1:

513. 找树左下角的值_第1张图片

输入: root = [2,1,3]
输出: 1

示例 2:

513. 找树左下角的值_第2张图片

输入: [1,2,3,4,null,5,6,null,null,7]
输出: 7
int findBottomLeftValue(TreeNode *root) {
    queue que;
    //加入根节点
    if (root != NULL) que.push(root);
    //记录求和
    int leftValue = 0;
    //循环条件
    while (!que.empty()) {
        //用于控制每层结点的个数
        int size = que.size();
        //将元素放入队列中
        for (int i = 0; i < size; i++) {
            //取出元素
            TreeNode *node = que.front();
            //弹出元素
            que.pop();
            if (i == 0){
                leftValue = node->val;
            }
            //加入左右结点
            if (node->left) que.push(node->left);
            if (node->right) que.push(node->right);
        }
    }
    return leftValue;
}

你可能感兴趣的:(数据结构)