问题描述:找出链表中倒数第K个节点思路分析:用两个指针,一前一后,保持k个距离,前面的指针移动到末尾,后面的指针就刚好直到第k个节点,要考虑到k为0,倒数第k个节点不存在的情况。参考代码:ListNode* FindKthToTail(ListNode * pHead,unsigned int k)...
分类:
其他好文 时间:
2014-12-23 12:17:09
阅读次数:
116
问题描述: 输入一个整数数组,实现一个函数来调整该数组中的数字顺序, 是的所有奇数位于数组的前半部分,所有偶数位于后半部分。 思路分析: 使用两个指针,一个指向数组头,一个指向数组尾,相向运动,一个在前面找偶数, 一个在后面找奇数,找到后互换,两个指针相遇则结束。 参考代码: void Record...
分类:
编程语言 时间:
2014-12-21 23:25:47
阅读次数:
248
问题描述: 输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3打印出1-999. 思路分析: 最简单的想法莫过于先算出这个最大的数,然后循环打出,但是没有考虑大溢出和大数问题。 下面有两种思路,一个是用数组模拟字符串,一种是用排列组合的方法。 参考代码: 思路一:字符串上模拟数字加法 bo...
分类:
其他好文 时间:
2014-12-14 10:40:07
阅读次数:
126
1.问题描述 Sort a linked list in O(n log n) time using constant space complexity.2.翻译 在固定的空间复杂度中使用O(nlog n)的时间复杂度进行链表的排序。 3.思路分析 提起排序,我们脑海中会迅速出现各种排序算法...
分类:
其他好文 时间:
2014-12-09 21:06:36
阅读次数:
181
问题描述: 请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。 思路分析: 简单的立马想到将次数右移,只要与1相与的话就能算出个数了,但是位移负数时左边为了保持符号位会 补一,例如将1101右移以为会变成1110.这样就会造成死循环。 下面有两种可行的方法: 1、我们可以不右移输入的数组n...
分类:
其他好文 时间:
2014-12-03 18:39:12
阅读次数:
147
1.验证日期的正则表达式加入闰年的判断以及思路分析进入正题之前,我们需要澄清两个概念:一,什么是合法的日期范围?对于不同的应用场景,这个问题有不同的解释。这里采纳MSDN中的约定:DateTime 值类型表示值范围在公元(基督纪元)0001 年 1 月 1 日午夜 12:00:00 到公元 (C.E...
分类:
其他好文 时间:
2014-12-03 10:25:38
阅读次数:
197
You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?思路分析:考察DP,定义ClimbWays数组,ClimbWays[n]...
分类:
其他好文 时间:
2014-11-29 07:06:29
阅读次数:
175
问题描述: 输入二叉树的前序遍历和后序遍历结果,请重建二叉树。假设输入的前序序列和后序序列都不含重复数字。 思路分析: 在二叉树的前序遍历中第一个数字总是树的根节点的值。但是在中序遍历中根节点的值位于序列中间,左子 树节点的值位于根节点值得左边,右子树节点的值位于根节点值的右边。因此我们需要扫描中序...
分类:
其他好文 时间:
2014-11-25 12:16:13
阅读次数:
160
问题描述: 请实现一个函数,把字符串中的每个空格替换为“%20”。例如输入“Hello ZCM”,则输出“Hello%20ZCM”。 思路分析:在网络编程中,如果URL参数中有特殊字符,如空格、’#’等,可能导致服务端无法获得正确的参数值。 我们需要将这些特殊符号转换成服务器可以是别的字符。转换规则...
分类:
其他好文 时间:
2014-11-24 18:47:18
阅读次数:
131
问题描述: 在一个二维数组中,每一行都按照从左到右递增排序,每一列从上到下递增排序。请完成一个函数, 输入这样一个二维数组和一个整数,判断数组中时候含有该整数。 思路分析: 首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查 找的数字,剔除这个数字所在的列;如果...
分类:
编程语言 时间:
2014-11-24 18:44:59
阅读次数:
230