04 2011 档案
摘要:题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。
这道题目主要是利用两个指针来删除字符串中的重复数字。
代码如下:
阅读全文
摘要:题目:两个单向链表,找出它们的第一个公共结点
如果两个链表有公共节点,则它们的形状必然是一个Y字形。先假设这两个链表的长度相等,则我们可以同步遍历这两个链表,找到公共节点。现在有两个链表,我们可以先分别求齐长度得其差n,然后遍历长的那个链表n个节点,然后同步遍历这两个链表即可。
阅读全文
摘要:题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
通过这道题感觉位运算很强大~这道题利用异或的几个性质:任何数与其本身异或值都为0,异或运算满足交换律。因此将一组数依次异或,若里面只有一个只出现一次的数,其他的数都出现两次,则最后的结果必然是那个只出现一次的数。要找到两个数字就可以先通过异或整个数组,将得到的结果分组。然后依次安组异或就可以得到所求的值~
阅读全文
摘要:题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点
思路是将需要删除节点的值变为他的下一结点,然后删除它的下一结点,这样就像是变相删除了该节点。
阅读全文
摘要:题目:用C++设计一个不能被继承的类
思路是将类中的构造函数与析构函数声明为私有的,代码如下:
阅读全文

浙公网安备 33010602011771号