全菜工程师小辉
全菜工程师小辉
全部文章
分类
Java语言特性(6)
剑指offer最优解Java版(40)
数据库与中间件(3)
框架相关(1)
算法相关(3)
归档
标签
去牛客网
登录
/
注册
全菜工程师小辉的博客
有关后端开发和机器学习相关的干货分享,微信公众号同名
全部文章
(共53篇)
剑指offer最优解Java版-按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解决方法 在层序遍历的基础上,增加根据行数进行正向反向迭代(正向反向迭代利用LinkedList双向链表) class TreeNode...
2019-07-15
0
541
剑指offer最优解Java版-对称的二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 解决方法:递归 class TreeNode { int val = 0; TreeNode left = null; TreeNode right...
2019-07-15
0
581
剑指offer最优解Java版-二叉树的下一个结点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解决方法 中序遍历的顺序如图: 中序遍历 class TreeLinkNode...
2019-07-14
0
485
剑指offer最优解Java版-删除链表中重复的结点
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 解决方法 两个阶段: 让快慢指针一起走,直到两个相遇。...
2019-07-13
0
520
剑指offer最优解Java版-孩子们的游戏(圆圈中最后剩下的数)
题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中...
2019-07-12
0
568
剑指offer最优解Java版-链表中环的入口结点
题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 解决方法 两个阶段: 让快慢指针一起走,直到两个相遇。 假设从起点到环入口处距离为m,慢指针从环入口处继续走x距离,与快指针相遇。则将两个指针速度都变成每次一格,然后A指针从相遇点继续出发,B指针...
2019-07-12
0
338
剑指offer最优解Java版-表示数值的字符串
题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e&qu...
2019-07-11
0
505
LRU算法详解及最简单的Java实现
LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 LRU算法的表现 新数据插入到容器头部; 每当缓存命中(即缓存数据被访问),则将数据移到容器头部; 当容器满的...
2019-07-10
0
872
剑指offer最优解Java版-正则表达式匹配
题目描述 请实现一个函数用来匹配包括'.'和''的正则表达式。模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abac...
2019-07-10
0
451
Java中容易被遗忘的default关键字
default关键字 default关键字在JDK8中有两个用处。 1. 在switch语句的时候使用default int day = 8; String dayString; switch (day) { case 1: dayString = "Monday"...
2019-07-09
0
485
首页
上一页
1
2
3
4
5
6
下一页
末页