剑指offer
_闪光少女
这个作者很懒,什么都没留下…
展开
-
剑指offer ==== 递归之(斐波那契、跳台阶、矩形覆盖、变态跳台阶)
算法1. 斐波那契额数列题目描述题目分析C++代码2. 跳台阶题目描述C++代码3. 矩形覆盖题目描述C++代码4.变态跳台阶题目描述题目分析C++代码1. 斐波那契额数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39题目分析方法三:动态规划虽然方法二可以解决此题了,但是如果想让空间继续优化,那就用动态规划,优化掉递归栈空间。方法二是从上往下递归的然后再从下往上回溯的,最后回溯的时候来合并子树从而求得原创 2020-08-10 17:04:09 · 352 阅读 · 0 评论 -
题集一 [链表]===(移除表元素、反转链表、链表的中间结点、倒数第K个结点、合并有序链表)
链表 01leetcode 203 移除表元素题目描述题目分析C++代码leetcode 206 反转链表题目描述题目分析C++代码迭代:递归:leetcode 876 链表的中间结点题目描述题目分析C++代码剑指offer JZ14 链表中倒数第k个结点题目描述题目分析C++代码leetcode 21 合并两个有序链表题目描述题目分析思路算法C++代码leetcode 203 移除表元素题目描述删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3-&g原创 2020-07-25 22:35:50 · 156 阅读 · 0 评论 -
剑指offer ==== 栈(两个栈实现一个队列、栈的压入、弹出最小值)
剑指offer1. 两个栈实现一个队列题目描述题目分析C++ 代码2. 栈的压入、弹出序列题目描述题目分析C++代码3. 包含min函数的栈题目描述题目分析C++代码1. 两个栈实现一个队列题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6?tpId=13&&tqId=11158&rp=1&ru=原创 2020-08-07 15:38:17 · 325 阅读 · 0 评论 -
剑指offer ==== 数组(二维数组查找、旋转数组的最小数组、调整数组顺序、超过一半的数字、重复的数字、只出现一次的数字)
1. 二维数组的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题目分析//解决思路://如数组样式如下:1 2 3 42 3 4 53 4 5 6正常查找的过程,本质就是排除的过程,如果双循环查找,本质是一次排除一个,效率过低根据题面要求,我们可以采取从右上角(或左下角)进行比较),这样可以做到一次排除一 行或者一列。OJ题目原创 2020-07-26 23:28:01 · 379 阅读 · 0 评论 -
剑指offer ==== 字符串(左旋字符串、第一个不重复的字符、扑克牌顺子、替换空格、最后一个单词长度)
字符串1. 左旋字符串题目描述题目分析C++ 代码2. 字符流中第一个不重复的字符题目描述题目分析C++ 代码3. 扑克牌顺子题目描述题目分析C++ 代码4. 替换空格题目描述题目分析C++ 代码5. 最后一个单词的长度题目描述题目分析C++代码1. 左旋字符串题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,原创 2020-08-04 23:00:55 · 439 阅读 · 0 评论 -
剑指offer ====二叉树(二叉树深度、二叉树镜像、层次遍历、前中序遍历重建、平衡二叉树、下一个结点)
1. 二叉树的深度题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度题目分析本题目就是最简单的二叉树遍历,我们可以用递归的方法,分别对二叉树的左右子树进行遍历,找到最大路径的子树,对脚标加1。C++代码/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), l原创 2020-08-04 22:57:29 · 612 阅读 · 0 评论