剑指offer
syyyy712
你的格局决定你的结局!
展开
-
剑指offer---旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 以下是c++代码: class Solution { public: int minNumber...原创 2018-03-19 19:51:24 · 147 阅读 · 0 评论 -
【剑指offer{40-44}】和为S的连续正数序列、和为S的两个数字、左旋转字符串、翻转单词顺序列、扑克牌顺子
文章目录和为S的连续正数序列题目描述C++代码和为S的两个数字题目描述C++代码左旋转字符串题目描述C++代码翻转单词顺序列题目描述C++代码扑克牌顺子题目描述C++代码 和为S的连续正数序列 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就...原创 2019-01-04 11:18:54 · 162 阅读 · 0 评论 -
【剑指offer{35-39}】两个链表的第一个公共结点、数字在排序数组中出现的次数、二叉树的深度、平衡二叉树、数组中只出现一次的数字
文章目录两个链表的第一个公共结点题目描述C++代码数字在排序数组中出现的次数题目描述C++代码二叉树的深度题目描述C++代码平衡二叉树题目描述C++代码数组中只出现一次的数字题目描述C++代码 两个链表的第一个公共结点 题目描述 输入两个链表,找出它们的第一个公共结点。 C++代码 //用栈解决这个问题,将链表压入栈,再分别将节点弹出来,若碰到两个栈节点不一致则说明上一个弹出的节点是第一个...原创 2019-01-03 18:59:48 · 152 阅读 · 0 评论 -
【剑指offer{31-34}】整数中1出现的次数(从1到n整数中1出现的次数)、把数组排成最小的数、丑数、第一个只出现一次的字符
文章目录整数中1出现的次数(从1到n整数中1出现的次数)题目描述C++代码把数组排成最小的数题目描述C++代码丑数题目描述C++代码第一个只出现一次的字符题目描述C++代码 整数中1出现的次数(从1到n整数中1出现的次数) 题目描述 求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,...原创 2018-11-18 21:22:39 · 129 阅读 · 0 评论 -
【剑指offer{25-30}】复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、最小的K个数、连续子数组的最大和
复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、最小的K个数、连续子数组的最大和复杂链表的复制题目描述C++代码字符串的排列题目描述C++代码数组中出现次数超过一半的数字题目描述C++代码最小的K个数题目描述C++代码连续子数组的最大和题目描述C++代码 复杂链表的复制 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点...原创 2018-10-07 15:57:14 · 169 阅读 · 0 评论 -
【剑指offer{23-24}】二叉搜索树的后序遍历序列、二叉树中和为某一值的路径
二叉搜索树的后序遍历序列、二叉树中和为某一值的路径二叉搜索树的后序遍历序列题目描述C++代码二叉树中和为某一值的路径题目描述C++代码 二叉搜索树的后序遍历序列 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 C++代码 class Solution { public: bool V...原创 2018-10-06 19:21:27 · 187 阅读 · 0 评论 -
【剑指offer{19-22}】顺时针打印矩阵、包含min函数的栈、栈的压入弹出序列、从上往下打印二叉树
顺时针打印矩阵、包含min函数的栈、栈的压入弹出序列、从上往下打印二叉树顺时针打印矩阵题目描述C++代码包含min函数的栈题目描述C++代码栈的压入弹出序列题目描述C++代码从上往下打印二叉树题目描述C++代码 顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 ...原创 2018-10-06 17:57:47 · 161 阅读 · 0 评论 -
【剑指offer{15-18}】反转链表、合并两个排序的链表、树的子结构、二叉树的镜像
反转链表、合并两个排序的链表、树的子结构、二叉树的镜像反转链表题目描述C++代码合并两个排序的链表题目描述C++代码树的子结构题目描述C++代码二叉树的镜像题目描述C++代码 反转链表 题目描述 输入一个链表,反转链表后,输出新链表的表头。 C++代码 /* struct ListNode { int val; struct ListNode *next; ListNode(int ...原创 2018-10-05 19:11:32 · 248 阅读 · 0 评论 -
【剑指offer{11-14}】二进制中1的个数、数值的整数次方、调整数组顺序使奇数位于偶数前面、链表中倒数第k个结点
二进制中1的个数、数值的整数次方、调整数组顺序使奇数位于偶数前面、链表中倒数第k个结点二进制中1的个数题目描述C++代码数值的整数次方题目描述C++代码调整数组顺序使奇数位于偶数前面题目描述C++代码链表中倒数第k个结点题目描述C++代码 二进制中1的个数 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 C++代码 class Solution { public:...原创 2018-10-05 19:02:10 · 150 阅读 · 0 评论 -
【剑指offer{7-10}】斐波那契数列、跳台阶、变态跳台阶、矩形覆盖
斐波那契数列、跳台阶、变态跳台阶、矩形覆盖斐波那契数列题目描述C++代码跳台阶题目描述C++代码变态跳台阶题目描述C++代码矩形覆盖题目描述C++代码 注:思路均是动态规划,用中间数组dp存放计算值,如果用递归耗费空间太大。 斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 C++代码 clas...原创 2018-10-05 09:13:27 · 192 阅读 · 0 评论 -
【剑指offer{4-6}】重建二叉树、用两个栈实现队列、旋转数组的最小数字
重建二叉树、用两个栈实现队列、旋转数组的最小数字重建二叉树题目描述C++代码用两个栈实现队列题目描述C++代码旋转数组的最小数字题目描述C++代码 重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉...原创 2018-10-05 08:28:52 · 176 阅读 · 0 评论 -
【剑指offer{1-3}】二维数组查找、空格替换、从尾到头打印链表
【剑指offer{1-3}】二维数组查找题目描述C++代码展示空格替换题目描述C++代码展示从头到尾打印链表题目描述C++代码展示 注:代码均在牛客网上运行,结果均通过! 二维数组查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 选择...原创 2018-10-04 09:08:03 · 154 阅读 · 0 评论 -
[剑指offer]链表中倒数第k个结点/反转链表/合并两个排序的链表
题目描述 输入一个链表,输出该链表中倒数第k个结点。 解释: 针对该道题目,主要有两种解法:一种是将链表的节点压入栈,由于栈有一个特点是先进后出,因此倒数第k个变成了顺数第k个;第二种解法是求链表第k个节点,相当于顺序遍历链表第(n-k)个节点(计算下标从0开始),n为节点的总个数。其中对k的取值还要考虑,如果k的值大于链表总结点个数,则返回NULL。针对上述解释的两种解法,C++代码如下:...原创 2018-08-16 15:48:00 · 182 阅读 · 0 评论 -
剑指offer--找规律题目(斐波那契数列、跳台阶)
1、题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39 1,1,2,3,5,8……… C++代码: class Solution { public: int Fibonacci(int n) { if(n==0) { return 0; } if...原创 2018-03-19 21:36:44 · 352 阅读 · 0 评论 -
【剑指offer{45-47}】孩子们的游戏(圆圈中最后剩下的数)、求1+2+3+...+n、不用加减乘除做加法
文章目录孩子们的游戏(圆圈中最后剩下的数)题目描述C++代码求1+2+3+...+n题目描述C++代码不用加减乘除做加法题目描述C++代码 孩子们的游戏(圆圈中最后剩下的数) 题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为...原创 2019-01-05 20:40:22 · 269 阅读 · 0 评论