LeetCode Find Bottom Left Tree Value
来源:互联网 发布:汉唐香莎温泉会所js 编辑:程序博客网 时间:2024/05/29 19:58
Given a binary tree, find the leftmost value in the last row of the tree.
Example 1:
Input: 2 / \ 1 3Output:1
Example 2:
Input: 1 / \ 2 3 / / \ 4 5 6 / 7Output:7
Note: You may assume the tree (i.e., the given root node) is not NULL.
题解:此题比较简单,是用来求一棵二叉树中最底层中最左边那个节点的值。我考虑先求出这棵树的树高,用递归算法来求解,得到树高后,再层次遍历,遍历到树高的那一层时,直接将最左边的那个节点输出即可。
public class findBottomLeftValue{ public int findBottomLeftValue(TreeNode root) { int depth = getMaxDepth(root); if(depth == 1) return root.val; Queue<TreeNode> queue = new LinkedList<>(); //层次遍历 queue.add(root); int length = queue.size(); int height = 1; int result = 0; while(!queue.isEmpty()) { boolean t = false; while(length-- > 0) { TreeNode tmp = queue.poll(); if(height == depth) { result = tmp.val; t = true; break; } if(tmp.left != null) queue.add(tmp.left); if(tmp.right != null) queue.add(tmp.right); } if(t == true) break; //判断是不是最底层的最左边的那个节点 height += 1; length = queue.size(); } return result; } public int getMaxDepth(TreeNode root) //递归求树高 { if(root == null) return 0; else { int left = getMaxDepth(root.left); int right = getMaxDepth(root.right); return 1 + Math.max(left,right); } }}
阅读全文
0 0
- LeetCode 513. Find Bottom Left Tree Value
- [leetcode]513. Find Bottom Left Tree Value
- [leetcode] 513. Find Bottom Left Tree Value
- 【LeetCode】513. Find Bottom Left Tree Value
- Leetcode 513. Find Bottom Left Tree Value
- LeetCode 513. Find Bottom Left Tree Value
- LeetCode #513: Find Bottom Left Tree Value
- LeetCode 513. Find Bottom Left Tree Value
- 【leetcode】 513. Find Bottom Left Tree Value
- 513. Find Bottom Left Tree Value | LeetCode
- leetcode-513. Find Bottom Left Tree Value
- LeetCode 513. Find Bottom Left Tree Value
- leetcode 513. Find Bottom Left Tree Value
- leetcode 513. Find Bottom Left Tree Value
- Leetcode 513 Find Bottom Left Tree Value
- [leetcode]513. Find Bottom Left Tree Value
- Leetcode 513. Find Bottom Left Tree Value
- leetcode 513. Find Bottom Left Tree Value
- 集合框架
- JavaScript学习笔记: 局部变量和全局变量
- JVM知识点总结(一):概览
- MySQL创建用户与授权方法
- MVC架构中,用户的请求
- LeetCode Find Bottom Left Tree Value
- 列表转化为字典
- SSH框架环境搭建
- java 竖线分割字符串的问题
- 1206:素数求和问题
- tomcat环境变量详细配置步骤
- java鬼混笔记:apache log4j基本配置和捕获异常打印
- HTML UTF-8 中文乱码问题
- Android Studio JNI开发入门教程