
剑指offer
ccc_yxc
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指offer 面试题53:正则表达式匹配
这题主要考察先分类后递归的思想,还有对于知识迁移(以 . * 考察).总结下: 1.对于 * 的处理有3种: (1)str维持,pattern跳2个字符.(a和b*) (2)str跳1个字符,pattern跳2个字符.(a和a*) (3) str跳1个字符,pattern维持.(a和a*)2.涉及到递归,原来的match只用于错误检测.通常指针检测NULL,字符串检测原创 2016-12-16 21:48:07 · 272 阅读 · 0 评论 -
剑指offer 面试题55 字符流中第一个不重复的字符(push_back+resize出问题)
这道题考察对哈希表的应用.总结如下: 1. 解题思路为,大小为256的hash. 以 hash_table[i]=value 为例 i表示对应字符 value表示此字符未出现,出现过一次,出现过多次. value==-1:未出现 value>=0:出现过一次并且出现的顺序=value value==-1:出现过多次2.关于STL vector,原来resize和push_back一起使原创 2016-12-17 00:21:58 · 390 阅读 · 0 评论 -
剑指offer 面试题42 翻转单词顺序
题目: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理.例如输入字符串”I am a student.”,则输出”student. a am I”.解题思路: 先对整个字符串从头到尾翻转一次,然后再重头扫描.遇到空格或者到达末尾,就再翻转一次.总结: 1.字符串string,使用empty判断是否为空2.c类型的字符串 char *str原创 2016-12-17 15:39:05 · 378 阅读 · 0 评论 -
剑指offer 面试题57 删除链表中重复的结点
题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5总结如下: 1.再次强调一个知识点,只要想要移动指针,或者想要访问结点里的内容,一定要先判断是否为空,不然会出现段错误,越界错误. 想要node->next(可以之后判断或者之前判断)或者node->val(一定要访问前原创 2016-12-18 16:56:14 · 453 阅读 · 0 评论 -
剑指offer 面试题27 二叉搜索树与双向链表
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。感觉这一题挺难做的,从题二叉搜索树和排序信息,首先,可以得出肯定是要使用树的中序遍历.如果要做成一个双向链表,至少要保存两个指针,它本身还有前一个.但是如果通过递归实现的时候,看下面代码 //先左边 pLast假设是上一个指针 ConvertCore(pCurrent原创 2016-12-25 17:50:23 · 445 阅读 · 0 评论