排序:
默认
按更新时间
按访问量

每天两道编程题---剑指offer(15):反转链表

题目描述:输入一个链表,反转链表后,输出链表的所有元素。解题思路:由于链表的顺序存储特性,必须遍历各结点才能完成反转。首先创建两个结点,一个指向当前结点,另一个指向下一个结点。要做的就是使下一个结点指向当前结点,然后当前结点赋值为下一个结点,下一个结点赋值为下下个结点。有点类似斐波那契数列的计算过...

2018-04-19 08:49:46

阅读数:19

评论数:0

每天两道编程题---剑指offer(14):链表中倒数第k个结点

题目描述:输入一个链表,输出该链表中倒数第k个结点。解题思路:由于链表是顺序存储结构,想要访问某个结点只能从头结点依次访问。于是想到先用临时结点temp遍历一次,获取链表结点数count。则倒数第k个结点就转化为了正数第(count-k)个结点。问题就迎刃而解了。附上代码:public class...

2018-04-19 00:06:56

阅读数:17

评论数:0

每天两道编程题---剑指offer(13):奇偶顺序重排

题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路: 刚开始思考时想着是否有简便的解决方法,无奈才疏学浅百思不得。望各位大神加以指点。 纠结了几分...

2018-04-18 20:02:16

阅读数:14

评论数:0

每天两道编程题---剑指offer(11):二进制中1的个数

题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解题思路:原本想的方法是采用十进制转二进制的算术方法,对照测试用例后发现需要转换为32位二进制数。于是设立了一个测试位flag,一个计数位count,与n按位与运算,若结果不为0,则count++。每次与运算后flag左移一...

2018-04-17 20:11:43

阅读数:16

评论数:0

每天两道编程题---剑指offer(9):跳台阶问题

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路:我没有找到用显式递归解决该问题的方法,只是在解题过程中用到了递归的思想。显而易见,n=1时只有一种方法。当n>=2时,可以分情况讨论青蛙跳的级数。...

2018-04-17 17:19:06

阅读数:15

评论数:0

每天两道编程题---剑指offer(2):替换空格

题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路:刚看到这道题时,首先想到的是String自带的replace方法,但是没有去使用,想尝试一下其他方法。首先还是要判断输入字符...

2018-04-16 11:57:14

阅读数:23

评论数:0

每天两道编程题---剑指offer(1):二维数组中的查找

题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:由于每一行、每一列都是递增的,所以显然arr[0][0]和arr[arr.length-1][arr[0].le...

2018-04-16 10:48:27

阅读数:28

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭