首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
tuweilong
西北大学
2020届
Java工程师
关注
私信
加入黑名单
举报TA
首页
刷题
圈子
项目
笔记
基本资料
真题试卷
在线编程
心理测试
回答的问题(73)
二叉树层序遍历 ii
1
/* 坑:树为空时,不能返回null,也要返回一个空ArrayList。 用BFS。 记下一层节点数,以及当前位置,来判断是否为该层的最后一个节点。 遍历到当前层最后一个节点时,将当前list加到一个栈里面。 最后把栈里面的list弹出。 ps:进入下一层时,不能直接清空当前的list,栈里面的引用...
发表于 2019-06-18 21:17:22
二叉树的最大深度
1
/* 动态规划。 当前节点深度=左子树,右子树中较大的深度 + 1。 */ public class Solution { public int maxDepth(TreeNode root) { if (root == null) return 0;...
发表于 2019-06-18 20:14:27
有序链表变成二叉搜索树
0
/* 和数组转化的那一题思想一样。递归求解。 不同的是:链表找中间点使用快慢指针。 */ public class Solution { public TreeNode sortedListToBST(ListNode head) { if (head == null) re...
发表于 2019-06-18 20:06:13
将升序数组转化为平衡二叉搜索树
0
/* 讨论:中间有两个值时,为什么要取较大的。取较小的通过不了。 思路:每次取中间数作为当前节点。 当前节点的左子树依靠当前数组的左半部分生成。 当前节点的右子树依靠当前数组的右半部分生成。 出口条件:当左坐标大于右坐标时返回空。 */ public class ...
发表于 2019-06-18 19:19:01
二叉树根节点到叶子节点的所有路径和
1
/* 坑:树为空时,返回0。 记当前节点的路径数字。遇到叶子节点时,将路径数字加到ans中。 返回ans。 */ public class Solution { int ans = 0; public int sumNumbers(TreeNode root) { ...
发表于 2019-06-18 15:58:55
判断二叉树是否为平衡二叉树
1
//DFS求树的深度。 //先判断当前节点左右子树的深度差小于1. //如果不符合要求,直接返回false。 //如果符合要求,再分别判断左右子树。 public class Solution { public boolean isBalanced(TreeNode root) { ...
发表于 2019-06-18 15:28:34
填充每个节点指向最右节点的next指针 ii
1
和上一题基本上一样。 唯一的区别就是每一层的节点数不一样了。 把下一层的节点数统计出来。每次往队列中添加节点时,把计数器加一即可。 public class Solution { public void connect(TreeLinkNode root) { if (roo...
发表于 2019-06-17 16:30:49
填充每个节点指向最右节点的next指针
0
层次遍历。 各行的节点个数为2^n。 每次都记住前一个节点。 public class Solution { public void connect(TreeLinkNode root) { if (root == null) return; int n =...
发表于 2019-06-17 16:17:58
左旋转字符串
1
取字串,秒杀。 import java.util.*; public class Solution { public String LeftRotateString(String str,int n) { int len = str.length(); if...
发表于 2019-04-02 18:36:34
和为S的两个数字
0
不多说,双指针就完事了。 import java.util.ArrayList; public class Solution { public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { ...
发表于 2019-04-02 18:28:50
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题