剑指offer
慵懒de疯子
做真实可爱的自己......
展开
-
【剑指offer】------查找字符串中第一次只出现一次的字符
题目:查找字符串第一次中只出现一次的字符 方法一:(不建议使用第一种方法) 从头遍历字符串,当遍历到某个字符时,就将其依次和后面的字符相比较,若不相同,则这个字符就是我们要找的字符。该方法的时间复杂度较大为O(n^2) 方法二: 借助数据容器哈希表,先将字符串遍历一遍,保存每个字符出现的次数。然后再依次遍历每个字符,每遍历一个字符就找出哈希表中对应...原创 2018-05-02 22:01:15 · 216 阅读 · 0 评论 -
【剑指offer】------将字符串中的空格替换
题目描述:将一行字符串中的空格替换成为%20 eg:hello world 准换成为 hello%20world题目分析: 方案一:可以允许开辟新的空间 遍历旧字符串复制,遇到空格就在新字符串上填入“%20” !!!方案二:不允许开辟新的空间,只能在原来的字符串上操作(原来的空间足够长) 1、从前往后 从前往后替换时,很容易覆盖掉后面的字符2、...原创 2018-05-26 21:21:58 · 195 阅读 · 0 评论 -
两个链表的公共结点
题目描述: 输入两个链表,找出它们的第一个公共结点 思路: 如上图所示,两个链表从第一个公共结点开始,后面的所有结点都是重合的,并且不可能再出现分叉 思路一:在第一个链表上顺序遍历每个结点,每遍历一个结点,就在第二个链表上顺序遍历每个结点,直到找到第一个公共结点。 时间复杂度为O(mn) 思路二:首...原创 2018-08-03 16:45:19 · 332 阅读 · 0 评论 -
rotate_list(旋转链表)
题目描述 Given a list, rotate the list to the right by k places, where k is non-negative. 给定一个链表,将链表向右旋转k个位置,其中k是非负的。 For example: Given1->2->3->4->5->NULLand k =2, return4-&g...原创 2018-08-09 19:04:05 · 372 阅读 · 0 评论 -
链表中倒数第K个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点。思路: 定义两个指针:一个pPre,一个pCur,让pPre先走k-1步(这里用for循环来实现pCur不动。当从第k步开始,让两个指针再同时出发(这样两个指针之间的距离始终就是k-1),当pPre走到尾指针时,pCur 刚好走到倒数第k个结点 ...原创 2018-08-06 21:30:43 · 168 阅读 · 0 评论 -
【剑指offer】面试题之二叉树系列(一)
1、把二叉树打印成多行 题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行 思路: 层序遍历 问题:怎样去确定它的每一层有多少结点按层次输出二叉树访问根节点,并将根节点入队。当队列不空的时候,重复以下操作。1、弹出一个元素。作为当前的根节点。2、如果根节点有左孩子,访问左孩子,并将左孩子入队。...原创 2018-08-14 19:05:51 · 250 阅读 · 0 评论 -
partition-list
题目描述:Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x. You should preserve the original relative order of the nodes in ea...原创 2018-08-07 10:56:34 · 219 阅读 · 0 评论