摘要:
这道题和之前的那道Regular Expression Matching有点相似,第一反应是跟之前一样,用递归来做 bool doMatch(char *s,char *p) { if (*p == '\0') return *s == '\0'; if(*p == '*') { while(*s! 阅读全文
摘要:
看stl源码时,有一段代码感觉很奇怪 iterator begin() { return (link_type)((*node).next); } iterator和link_type是两种不同类型,怎么能这么返回呢?翻了一下以前的笔记,发现是由转换构造函数生成临时对象再return。 转换构造函数 阅读全文
摘要:
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity sh 阅读全文
摘要:
看严蔚敏的数据结构看得云里雾里,后来看了其它博客才了解得比较透彻。其实算法的大体思路并不难理解。最原始的字符串匹配算法是将匹配串与模式串对齐,然后从左向右一个个比较,如果失配则模式串向右移动一个单位,这样没有利用前面部分匹配的信息,时间复杂度为O(n*m)。 KMP算法则是利用了部分匹配的信息,并以 阅读全文
摘要:
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. For example,"A man, a plan, a canal: Pan 阅读全文
摘要:
看了《stl源码剖析》中关于traits的部分,由于对模板还不是很熟悉,就看了一下还未完工的C++ Template 进阶指南 ,感觉收获很大,推荐一下。 在使用迭代器时,为了知道它的相应类型,可以使用模板的参数推导,代码如下 template <class T> struct MyIter typ 阅读全文
摘要:
一般我们习惯的c++内存配置如下 class Foo { ... }; Foo* pf = new Foo; delete pf; 这里的new实际上分为两部分执行。首先是先用::operator new配置内存,然后执行Foo::Foo()构造对象内容。delete也一样,先运行Foo::~Foo 阅读全文
摘要:
今天发现一个好东西--leetcode的course,虽然没有付费的内容会比较少,不过也很不错了。 第一篇的string讲的是两点法(Two-pointer technique),也就是数据结构课本里常用的快慢指针。原理很简单,但是题目里要用到的stl有点忘了。。Given a sorted ar... 阅读全文
摘要:
刚开始刷题,一开始没思路,上网看了一下别人的思路才写出来 总的思路就是先把链表分为两部分,可以先遍历链表再根据长度分也可以用快慢指针(新知识点),然后将第二部分反转,再依次插入到第一部分。思路很简单,但没用ide还是出错了。。。/** * Definition for singly-linked ... 阅读全文