摘要: 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 1. 方法一:递归法 (很优雅) 阅读全文
posted @ 2019-10-07 16:43 helloHKTK 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表,反转链表后,输出新链表的表头。 阅读全文
posted @ 2019-10-07 16:42 helloHKTK 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表,输出该链表中倒数第k个结点。 阅读全文
posted @ 2019-10-07 16:36 helloHKTK 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 阅读全文
posted @ 2019-10-07 16:35 helloHKTK 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0。 java // 牛客网通过 public class Solution { public double Power(double bas 阅读全文
posted @ 2019-10-07 16:32 helloHKTK 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。例如,把9表示成二进制是1001,有2位是1。因此,如果输入是9,该函数输出为2。 1. 常规解法一:除2的思想,每次判断最低位是否为1(当输入的数是负数时,会陷入死循环) 2. 常规解法二:乘2的思想(左移一位),从低到高依 阅读全文
posted @ 2019-10-07 16:32 helloHKTK 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 代码(牛客网通过): 阅读全文
posted @ 2019-10-07 16:32 helloHKTK 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 斐波那契数列的非递归解法 1. 递归解法 2. 非递归解法(自己思路,牛客网通过) 由于使用递归解法进行了许多重复的计算,比如:计算f(10),要先计算f(9)和f(8),计算f(9),要先计算f(8)和f(7)。仅仅这两步f(8)就被计算了2次。当计算f(100)时,使用递归法求解耗时非常严重,主 阅读全文
posted @ 2019-10-07 16:31 helloHKTK 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 旋转数组的最小数字 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请 阅读全文
posted @ 2019-10-07 16:30 helloHKTK 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n 阅读全文
posted @ 2019-10-07 16:30 helloHKTK 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 用两个栈实现队列(关键:对于stack2要全部清空后才允许进栈(全部弹出)) 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 1.(牛客网通过) 2.别人的实现方法 java 链接:https://www.nowcoder.com/questionTerm 阅读全文
posted @ 2019-10-07 16:29 helloHKTK 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 根据前序和中序建立二叉树 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 阅读全文
posted @ 2019-10-07 16:27 helloHKTK 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 从尾到头打印链表(关键:用栈) 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 分析: listNode 是链表,只能从头遍历到尾,但是输出却要求从尾到头,这是典型的"先进后出",我们可以想到栈! ArrayList 中有个方法是 add(index,value),可以指定 i 阅读全文
posted @ 2019-10-07 16:26 helloHKTK 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 替换空格(学会从后往前的替换思想,来减少移动次数) 题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 方法一:Java调库 方法二:不调库的方法 1. 先计算替换后的字符串需要多大的空 阅读全文
posted @ 2019-10-07 16:25 helloHKTK 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 判断二维数组中是否包含某个数 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 总思路:如果要查找的数字不在数组的【右上角】,则每一次都删除一列或一行 阅读全文
posted @ 2019-10-07 16:24 helloHKTK 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: Java中我们使用的ArrayList,其实现原理是数组。而LinkedList的实现原理就是链表了。链表在进行循环遍历时效率不高,但是插入和删除时优势明显。 说明:以下代码是按照自己理解实现,有不正确的地方,请批评指正!! 1. 定义结点类 2. 建表(尾插法) 4. 插入结点 5. 删除结点 6 阅读全文
posted @ 2019-10-07 16:21 helloHKTK 阅读(2225) 评论(0) 推荐(0) 编辑
摘要: 1. Java中栈的实现:Stack关键字 后进先出 2. Java中队列的实现: 先进先出 阅读全文
posted @ 2019-10-07 16:17 helloHKTK 阅读(387) 评论(0) 推荐(0) 编辑
摘要: Java实现二叉树 1. 定义结点类 2. 构建二叉树 3. 遍历二叉树 3.1 先序遍历 3.2 中序遍历 3.3 后序遍历 4. 总代码 阅读全文
posted @ 2019-10-07 16:16 helloHKTK 阅读(2090) 评论(0) 推荐(0) 编辑