一只弱小的Kid
一只弱小的Kid
全部文章
分类
题解(19)
归档
标签
去牛客网
登录
/
注册
蒻鸡Kid
愿你走出半生,归来任是少年
全部文章
(共19篇)
剑指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--旋转数组中的最小数字
解法 可以使用暴力解题 直接遍历一次 时间复杂度是O(n) 使用二分的变形,把右端点当成target,然后每次进行比较 如果array[mid] <=target 就把右端点变成mid 否者就是left 变成mid+1 import java.util.ArrayList; public ...
剑指offer
2020-08-14
0
562
剑指offer--用两个栈实现队列
解法 首先知道 栈和队列的特点栈:先进后出队列:先进先出如果用栈实现的话 可以知道 每次弹出的都是栈底的元素,所以我们可以把元素都倒在另外一个栈中,然后在弹出栈底的 最后在倒回来。 运行时间:12ms 占用内存:9428KB import java.util.Stack; public clas...
剑指offer
2020-08-14
1
492
剑指offer --从尾到投打印链表
解法 用递归的方式 直接递归到最后一个结点 然后添加到list 在一步步返回,。 运行时间:12ms 占用内存:9640KB import java.util.ArrayList; public class Solution { ArrayList<Integer> list =...
剑指offer
链表
2020-08-14
0
472
剑指offer-- 二维数组中的查找
解法1 直接暴力 或者外循环列 内循环二分查 运行时间:113ms 占用内存:17496KB public class Solution { public boolean Find(int target, int [][] array) { for(int i=0;i&l...
剑指offer
面试题
2020-08-14
0
470
剑指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
剑指offer-- 链表中倒数第K个结点
解法1 用一个p指针指向 head 然后 一直遍历到末尾,得到链表长度len 计算出你自己需要遍历的长度 len-k ;然后在遍历len-k个结点 就得到了倒数第k个结点 /* 运行时间:14ms 占用内存:9720KB public class ListNode { int val; ...
剑指offer
链表
面试题
2020-08-13
0
451
首页
上一页
1
2
下一页
末页