![](https://img-blog.csdnimg.cn/20200415100757741.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
剑指offer
剑指offer刷题
xiaotongn
温故而知新
展开
-
旋转数组的最小数字
题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个升序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。数组可能包含重复项。注意:数组内所含元素非负,若数组大小为0,请返回-1。样例输入:nums=[2,2,2,0,1]输出:0ACWingclass Solu...原创 2019-11-21 22:36:43 · 111 阅读 · 0 评论 -
链表-链表中环的入口结点
题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null;题目分析链表中某些结点构成了一个环,找打环的入口结点思路: head->a1->a2->a3...使用双层循环,例如对于结点a1,遍历整个链表判断是否有a1 = head->next;(head = head->next);a2,a3,......an;依次...原创 2019-08-05 15:08:34 · 124 阅读 · 0 评论 -
链表-链表中删除重复的结点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5分析:题目分两个问题,一是元素值比较,找出值相同的元素;二是操作链表将后向值相同的元素删;思路:首先会想到最简单的(时间复杂高)使用双层循环对链表中进行...原创 2019-08-05 18:05:45 · 288 阅读 · 0 评论 -
24 链表-复杂链表的复制
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)struct RandomListNode { int label; struct RandomListNode *next, *random; ...原创 2019-08-06 17:29:25 · 126 阅读 · 0 评论 -
左旋转字符串
题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它分析循环左移:将左移字符移动字符串末尾;使用什么数据结构来描述该问题字符数组,数组有...原创 2019-08-06 21:20:00 · 147 阅读 · 0 评论 -
C&C++笔试小结
day11 若使用数组作函数实参,则以下正确的说法是()A 必须在主调函数中说明此数组的大小B 实参数组类型与形参数组类型可以不匹配C 在被调用函数中,不需要考虑形参数组的大小D 实参数组名与形参数组名必须一致A选项:必须在主调函数中说明此数组的大小,不一定例如传递一个char类型的字符串,就不需要。所以A是错的。 B选项:实参数组类型与形参数组类型可以不匹配。实...原创 2019-09-13 21:59:57 · 2476 阅读 · 1 评论 -
15. 二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入数组:[ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15]]如果输入查找数值为7,则返回true,如果输入查找数值为5,则返回false。之...原创 2019-09-25 23:04:35 · 123 阅读 · 0 评论 -
15 链表反转
题目描述输入一个链表,反转链表后,输出新链表的表头。1、 分析 本题目需要初始化一个链表,反转链表即将原链表中的元素按逆序重新排列; 即需要新建一个链表,将原链表中值逆序赋值给新链表,关键在于怎么访问逆序访问链表中的元素; 单链表逆序访问,很麻烦,因为单链表定义了next指针域用于遍历后面结点元素,无法直接从链表末尾向前访问结点;//单链表结构ty...原创 2019-07-30 00:08:17 · 138 阅读 · 0 评论 -
16 链表-合并两个排序的链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。分析: //将两个单调链表合并成一个链表 //两个链表长度相同、q1对q2长,q2比q1长,是否为空;// 先考虑两个链表长度相同,之后在考虑链表长度不一样思路:完整代码代码还有点问题,待调试#include<stdio.h>...原创 2019-07-30 10:54:41 · 104 阅读 · 0 评论 -
2 替换字符串中空格
题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy参考:链接:https://www.nowcoder.com/questionTerminal/4060ac7e3e404ad1a894ef3e17650423来源:牛客网/*问题1:替换字符串,是在原来的字符串上...原创 2019-04-28 22:34:01 · 107 阅读 · 0 评论 -
3 链表-链表逆序
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。参考:https://www.nowcoder.com/questionTerminal/d0267f7f55b3412ba93bd35cfa8e8035https://blog.csdn.net/win_turn/article/details/50691562分析:思路:第一利用堆栈先入后出;第...原创 2019-04-30 22:43:11 · 202 阅读 · 0 评论 -
4:重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。1、基础知识二叉树参考:深入学习二叉树(一) 二叉树基础:https://www.jianshu.com/p/bf73c8d50dc2...原创 2019-05-13 23:16:45 · 157 阅读 · 0 评论 -
8 跳台阶
1、题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。2、思路枚举法:f(1)=1、f(2)=2、f(3)=3、f(4)=5、f(6)=8 ....发现规律,本质是一个斐波那契数列3、C++实现class Solution {public: int jumpFloor(int num...原创 2019-05-19 22:15:42 · 104 阅读 · 0 评论 -
5 栈和队列 两个栈实现一个队列
考察栈和队列题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。1、基础概念参考:https://www.cnblogs.com/VitoCorleone/p/3780377.html栈:限定只在表尾进行删除插入操作的线性表。先进后出;eg:打开网站1-》点击图像,调转网站2-点击文字链接》跳转到网站3返回:网站1《-网站2《-网...原创 2019-05-18 15:51:03 · 126 阅读 · 0 评论 -
6 旋转数组的最小数字
考察:查找和排序1、题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组(后面数大于或者等于前面的数)的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。2、思路1:数组本身解决:赋值,将数组值赋给一个新的...原创 2019-05-18 20:57:43 · 120 阅读 · 0 评论 -
7 斐波那契数列
1、题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=392、思路斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、3...原创 2019-05-18 21:45:24 · 569 阅读 · 0 评论 -
30-整数中1出现的次数
整数中1出现的次数(从1到n整数中1出现次数)题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)类别:时间效...原创 2019-06-10 21:28:12 · 361 阅读 · 0 评论 -
1:二维数组中查找
2019.4.27,周日,阴天or雾霾,前两天下完雨后,天真的很蓝啊,今天又,可能这个天才是北京的常态,今天又下了小雨,看看明天的天空,期待,有蓝天之前刷了几道,忙别的事,断断续续,今天重新开始刷,雷打都不动,~~~~~~~~~~~~~题目:二维数组中(每个一维数组长度相同),每行数从左到右递增,每列从上到下递增;写一个函数,输入上述二维数组和一个整数,判断数组中是否含有该整数;...原创 2019-04-27 16:35:52 · 127 阅读 · 0 评论