
剑指offer
龙跃十二
养成阅读的习惯等于为你自己筑起一个避难所,几乎可以避开生命中所有的灾难。
展开
-
《剑指offer》数组中出现次数超过数组长度一半的数字
题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 解析: 看到这道题我首先想到先给数组排序,在遍历一遍查找已经排好序的数组中的符合题意的数。这种方法是可行的,但是这种方法太明显了,而且排序时间原创 2018-02-01 21:05:00 · 303 阅读 · 0 评论 -
空格替换《剑指offer》
一、题目 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 二、思路解析 两种思路供选择: 1、从前向后替换:指针从第一个字符循环后移遇到空格,把空格后面的剩余字符全部向后移出能替换字符串的位置(此题需要后移出两个空格),然后把空格替换为目标串,以此类推直到所有空格被全部替换。原创 2018-01-28 20:23:16 · 241 阅读 · 0 评论 -
二叉搜索树的后续遍历序列《剑指offer》
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出1否则输出-1。假设输入的数组的任意两个数字都互不相同 例如输入数组a[] = {5,7,6,9,11,10,8}; 返回1。 在后续遍历中,最后一个数字是树的根节点的值。数组中前面的数字可以划分为两部分:第一部分为左子树节点,他们的值都比根节点小;第二部分为右子树节点,他们的值都比根节点大。 如栗子中 数...原创 2018-02-27 20:51:34 · 474 阅读 · 0 评论 -
复杂链表的复制
今天在牛客网上做了一道题,很有意思就分享出来了。题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。/*struct RandomListNode { int label; struct Rand...原创 2018-06-03 11:33:25 · 782 阅读 · 0 评论