题意:将已排序的链表中所有重复的元素移除
思路:
三个个指针,pre, cur, next
一个布尔变量is_appear,表示cur指针指向的值之前是否已经出现过
检查cur, next指向的节点的值是否相同,
相同的话,删除cur
不同的话,如果is_appear为true,删除cur,否则不删除
删除的话,只移动cur, next指针
不删除的话,要移动pre, cur, next三个指针
复杂度:时间O(n),空间O(1)...
分类:
其他好文 时间:
2014-05-15 02:54:32
阅读次数:
262
题意:移除链表的倒数第n个元素
思路:
两个指针p, q,
p先走n步,然后p,q一起走,当p走到尾的时候,q->next就是要删除的节点
复杂度: 时间O(n),空间O(1)...
分类:
其他好文 时间:
2014-05-15 02:53:13
阅读次数:
241
#include #include #include #include int main(int
argc, char **argv){ /* 这个是给str分配存储字符串地址的空间 */ char **str =
(char**)malloc(sizeof(char*)*256); /* 这个是给...
分类:
系统相关 时间:
2014-05-15 02:05:47
阅读次数:
313
std::auto_ptr 析构的时候调用 delete
操作符来自动释放所包含的对象boost::scoped_ptr / boost::scoped_array不能传递它所包含的对象的所有权
到另一个作用域指针boost::shared_ptr /boost::shared_array在内部记录...
分类:
其他好文 时间:
2014-05-15 02:01:07
阅读次数:
353
Implement strStr().Returns a pointer to the
first occurrence of needle in haystack, or null if needle is not part of
haystack.此题我觉得并不是真要你写出kmp算法。 指针暴力...
分类:
其他好文 时间:
2014-05-15 01:49:42
阅读次数:
330
估计大家都会做twoSum,一头一尾两个指针,跟据和的大小移动就行了。
3sum能不能用相同的方法呢,我尝试用暴力做,居然过了。思路是先把数组排个序,让相同数字的都靠在一起,然后固定一个数,其他两个数就按照twosum的那一套来,只不过计算sum的时候多算了一个数而已。需要注意一个问题,靠在一起一样的数,只能在第一次遇到它的时候用,更准确一点说,每个相同的数,只有一次作为i或j或k的机会,而且不...
分类:
其他好文 时间:
2014-05-15 01:29:41
阅读次数:
248
在使用C语言或者C++开发中,我们离不开typedef和define的使用,typedef相当于我们重新定义了一种类型,而define则只是简单的替换,这里我们简单归总一下二者的差别。
首先,我们可以用其他类型说明符对宏类型名进行扩展,但是对typedef的类型名不能扩展,比如
#define demo char
我们可以定义unsigned demo c;完全没问题,但是对于type...
分类:
其他好文 时间:
2014-05-15 01:24:18
阅读次数:
249
当kmp在母串中匹配到子串之后,删去子串相当于把失配指针往回退到匹配位置的前一个,如果只回退一次的话,直接用数组就可以处理失配指针了,但是本题可能删除后存在多个子串,所以用栈把失配指针位置先存起来,然后找到一次把len长度的失配指针删去,然后栈顶元素就是第一句话说的回退出匹配位置的前一个了。
为了方便调用函数,把以前的kmp改成了接口,方便使用,这样就不用开全局变量的数组了,代码看起来更符合工作...
分类:
其他好文 时间:
2014-05-14 20:20:53
阅读次数:
362
做一件事情首先应该知道它的目的是什么。
container_of的目的:如何通过结构中的某个变量获取结构本身的指针。
总体思路:假想一下,你的结构体中有好几个成员,你如何通过里面的“任一成员”获取
整个结构体的首地址呢。container_of的做法就是通过typeof定义一个与“任一成员”同类型
的指针变量pvar_a(假设变量名就是pvar_a),并让指针变量pvar_a指向这个“...
分类:
系统相关 时间:
2014-05-14 19:56:15
阅读次数:
494
对于c++面向对象一直很疑惑,这次决定下功夫把它弄明白一、派生类和基类之间的类型转换首先理解,派生类含有基类的所有成分,只不过有些就算在派生类的成员函数也不能访问而已。(1)派生类和基类的自动转换只针对指针或引用类型。只有指针和引用支持自动类型转换,同时,也只有指针和引用才可以静态类型和动态类型不同...
分类:
编程语言 时间:
2014-05-14 18:13:39
阅读次数:
290