题干
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。
假设二叉树中至少有一个节点。
示例 1:
输入: root = [2,1,3]
输出: 1
提示:
- 二叉树的节点个数的范围是 [1,104]
- -231 <=
Node.val
<= 231 - 1
来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/fi… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法:层序遍历
我们将每层的结果放进数组中,最后我们取最后一层结果集的第一个元素就是我们的目标结果
/**
* @param {TreeNode} root
* @return {number}
*/
var findBottomLeftValue = function (root) {
let queue1 = [];
let queue2 = []
if (root != null) {
queue1.push(root)
}
while (queue1.length !== 0) {
// 记录当前层级的length
let length = queue1.length
let tempArr = []
// 将当前层级的数据放入数组中
for (let i = 0; i < length; i++) {
let temp = queue1.shift()
if (temp.left != null) {
queue1.push(temp.left)
}
if (temp.right != null) {
queue1.push(temp.right)
}
tempArr.push(temp.val)
}
queue2.push(tempArr)
}
return queue2[queue2.length-1][0]
};
\