24.leetCode513:Find Bottom Left Tree Value
2017-10-08 07:29
337 查看
题目:
Given a binary tree, find the leftmost value in the last row of the tree.
Example 1:
Input:
/ \
1 3
Output:
1
Example 2:
Input:
Output:
7
Note: You may assume the tree (i.e., the given root node) is not NULL.
题意:找出二叉树中最下面那层最左边的节点
思路一:从右向左遍历二叉树,最后一个节点即为所求节点
代码:
思路二:层次遍历二叉树,并记录层数,达到最后一层后,找出最左边的节点。
代码:
注:数组res有两个元素,第一个元素记录的是节点值,第二个元素记录的是层数。
Given a binary tree, find the leftmost value in the last row of the tree.
Example 1:
Input:
2
/ \
1 3
Output:
1
Example 2:
Input:
1 / \ 2 3 / / \ 4 5 6 / 7
Output:
7
Note: You may assume the tree (i.e., the given root node) is not NULL.
题意:找出二叉树中最下面那层最左边的节点
思路一:从右向左遍历二叉树,最后一个节点即为所求节点
代码:
class Solution { public int findBottomLeftValue(TreeNode root) { Queue<TreeNode> queue = new LinkedList<>(); queue.add(root); while(!queue.isEmpty()){ root = queue.poll(); if(root.right!=null) queue.add(root.right); if(root.left!=null) queue.add(root.left); } return root.val; } }
思路二:层次遍历二叉树,并记录层数,达到最后一层后,找出最左边的节点。
代码:
public class Solution { public int findBottomLeftValue(TreeNode root) { return findBottomLeftValue(root, 1, new int[]{0,0}); } public int findBottomLeftValue(TreeNode root, int depth, int[] res) { if (res[1]<depth) {res[0]=root.val;res[1]=depth;} if (root.left!=null) findBottomLeftValue(root.left, depth+1, res); if (root.right!=null) findBottomLeftValue(root.right, depth+1, res); return res[0]; } }
注:数组res有两个元素,第一个元素记录的是节点值,第二个元素记录的是层数。
相关文章推荐
- LeetCode#513 Find Bottom Left Tree Value
- Find Bottom Left Tree Value
- lintcode/leetcode由易至难第18题:Find Bottom Left Tree Value
- Find Bottom Left Tree Value
- LeetCode #513: Find Bottom Left Tree Value
- LeetCode算法问题15 —— Find Bottom Left Tree Value
- 513[Medium]:Find Bottom Left Tree Value
- Leetcode 513 Find Bottom Left Tree Value
- leetcode513 FindBottomLeftTreeValue Java
- 算法课 第四周 Find Bottom Left Tree Value
- No.513 Find Bottom Left Tree Value
- Find Bottom Left Tree Value
- LeetCode Find Bottom Left Tree Value
- 算法分析与设计丨第四周丨LeetCode(7)——Find Bottom Left Tree Value(Medium)
- LeetCode之Find Bottom Left Tree Value
- Find Bottom Left Tree Value
- 513:find bottom left tree value
- LeetCode——Find Bottom Left Tree Value
- LeetCode- Find Bottom Left Tree Value
- Find Bottom Left Tree Value |找到二叉树最后一层的最左边的节点的值