一只弱小的Kid
一只弱小的Kid
全部文章
分类
题解(19)
归档
标签
去牛客网
登录
/
注册
蒻鸡Kid
愿你走出半生,归来任是少年
全部文章
(共10篇)
剑指offer--平衡二叉树
解法 平衡二叉树的概念 是 左子树和右子树的深度的差的绝对值 等于 1.如果不符合这个条件就是不是平衡二叉树我们只需要判断左子树和右子树是否符合条件 就OK了。 代码 public class Solution { public int depth(TreeNode root){ ...
剑指offer
树
笔试题
2020-09-07
1
673
剑指offer--二叉树的最大深度
解法 通过递归的方式获取到左子树的长度 和右子树的长度 ,然后比较谁大 最后将结果 加上根节点的深度1 代码 /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = nu...
剑指offer
树
笔试题
2020-09-05
0
504
剑指offer -- 两个链表的第一个公共结点
解法1 运用一个map 存储第一个链表的所有结点,然后遍历第二个链表 看结点是否存在key中 代码 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { t...
剑指offer
树
链表
2020-09-05
0
510
把二叉树打印多行
解法 运用两个队列解决这个层序遍历的问题,工作队列永远是当前输出的那一层,还有一个辅助队列是用来存储孩子结点。如果工作队列空了,在看辅助队列有没有孩子结点。 代码 import java.util.ArrayList; /* public class TreeNode { int val...
剑指offer
树
笔试题
2020-09-04
0
582
剑指offer -- 从上往下打印二叉树
解法 层序遍历二叉树,用队列实现 每次弹出队列的头,然后把他的左右孩子放入队列。直到队列为空 代码 import java.util.ArrayList; /** public class TreeNode { int val = 0; TreeNode left = null; ...
剑指offer
树
2020-09-03
0
473
剑指offer --二叉树的镜像
解法 解法很简单 只要root的左子树 等于 root的右子树,root的右子树 等于左子树就行了 ,用临时结点记录一下就ok 代码 /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode...
剑指offer
树
2020-09-03
0
501
剑指offer -- 树的子结构
解法 一个树是不是另外的树的子结构 只有三种情况第一种就是 根相等,第二种是 和左子树中的某一部分相等,第三种是和右子树的某一部分相等。假设 我们遇到的情况是 根相等的情况,我们就到了root2是不是和root1相等的情况,递归遍历的情况 只有root2遍历到了null 就说明相等,其他情况 比如 ...
剑指offer
树
面试题
2020-09-03
0
503
剑指offer--重建二叉树
解法 pre = {1,2,4,7,3,5,6,8} 根左右in = {4,7,2,1,5,3,8,6} 左根右根据遍历规则可以看到 中序遍历的 根的前面是左子树 根的右边是右子树 ,然后根据前序遍历可以得到根。然后我们就得到了 根的左子树的中序遍历{4,7,2}前序遍历{2,4,7} 和根的右子树...
剑指offer
树
面试题
2020-09-03
0
513
剑指offer--对称的二叉树
思路 对称的话 可以把一棵树 分成左子树和右子树 只要左子树的左边 和右子树的右边相同 && 左子树的右边和右子树的左边相同 就可以判断成功了 /* 运行时间:11ms 占用内存:9296KB public class TreeNode { int val = 0; ...
剑指offer
树
面试题
2020-08-13
0
461
剑指offer -- 二叉搜索树的第K小的结点
解法 二叉搜索树 的特点是比根节点小的永远在左边,大的永远在右边 (可以看我注释里面话的样例的图) 所以我们可以直接用中序遍历(左根右)得到一个排好序的TreeNode的List。然后直接get(k-1) 就好了(因为list小标从0开始) /* 运行时间:17ms 占用内存:9832KB pub...
剑指offer
树
面试题
2020-08-13
0
468