替换空格 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路 代码 } 新人水平有限,请大家多多指教! ...
分类:
其他好文 时间:
2016-06-21 15:45:28
阅读次数:
157
输入一个正数S,打印出所有和为S的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以结果打印出连续序列:1-5,4-6,7-8这三个序列.
方案一:时间复杂度为O(N*N)。通过循环来求解。效率较低,不在多赘述。
方案二:有了【41】的的经验方法后,我们可以用这样一种方法来得到连续整数序列。时间复杂度为O(N)。
我们以S=9为例来分析其过程...
分类:
其他好文 时间:
2016-06-21 07:14:32
阅读次数:
124
题目:输入一棵二叉树的结点,判断该树是不是平衡二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。
上图中的二叉树就是一棵平衡二叉树。
分析:有了求二叉树深度的思路后,我们很快就能找到求解该问题的方法,就是从根结点开始开始判断其左右子结点的深度之差是否为1。如果从根结点开始到叶子结点的每一个结点的左右子树的深度相差都不超过1,则说明该二叉树是平衡二叉树。但是其...
分类:
其他好文 时间:
2016-06-21 07:14:27
阅读次数:
201
题目:如何得到链表环的入口结点
方案:分两步走:
第一步:先要找到链表中的环,得到环的结点的个数。可以设置两个指针一个走的比较快,一个比较慢,那么如果链表中存在一个环,那么这两个指针一定会陷入这个环中,快的指针一定会遇到慢的指针,所以很快就能遇到。因为前面有详细讲过,这里不再多介绍。
第二步:得到环的个数以后,我们照样可以设置两个指针。第一个指针先前进N(N为环中结点的个数)步,然后和第二个...
分类:
其他好文 时间:
2016-06-21 07:12:55
阅读次数:
151
“沟通、学习能力就是看面试者能否清晰、有条理地表达自己,是否会在自己所得到的信息不够的情况下主动发问澄清,能否在得到一些暗示之后迅速做出反应纠正错误” ---陈黎明(MSo...
分类:
编程语言 时间:
2016-06-21 07:12:46
阅读次数:
131
题目:一个整型数组里除了两个数字外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(N),空间复杂度为O(1)。
例如输入数组{2,4,3,6,3,2,5,5},因为只有4和6在这个数组里出现了一次,所以最后输出的是4,6。
分析:因为题目要求的时间复杂度和空间复杂度分别为:O(N)和O(1)。所以这个题目不能借助辅助空间,那么也就是要在一次遍历后就...
分类:
编程语言 时间:
2016-06-21 07:11:25
阅读次数:
146
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。
对字符串的操作,主要问题:一定要注意字符串为NULL和访问越界的情况!再就是找'\0'.
例如输入字符串;"I love you.",经过翻转就变成:"you. love I"。看出来了吗,故意的,(不论语法)呵呵!
方案一:两次翻转法。两次翻转法就是先对整个字符串进行翻转:".u...
分类:
其他好文 时间:
2016-06-21 07:11:17
阅读次数:
143
题目:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的它们的和正好是S。如果有多对数字的和等于S,输出其中的一对即可。
例如输入数组{1,2,4,7,11,15}和数字15.由于4+11=15,因此输出4和11。
方案一:时间复杂度为O(N*N)。顺序查找法,固定一个数,然后和剩余的N-1个数做和,看和是否为S;如没有,将固定的数下移一个,再与N-2个数字做和,看是否相等。很明显,...
分类:
编程语言 时间:
2016-06-21 07:10:16
阅读次数:
176
【题目】统计一个数字在排序数组中出现的次数。 ...
分类:
编程语言 时间:
2016-06-20 21:57:56
阅读次数:
133
《剑指Offer》 电子工业出版社 何海涛 《JavaScript权威指南(第6版)》 机械工业出版社 淘宝前端团队 译 《CSS权威指南(第3版)》 中国电力出版社 尹志中 译 《Web前端黑客技术揭秘》 电子工业出版社 钟晨鸣 《JavaScript设计模式》 人民邮电出版社 谢廷晟 译 《Ja ...
分类:
其他好文 时间:
2016-06-20 20:31:31
阅读次数:
142