剑指Offer
LeetCode 剑指Offer题目
远洋z
欢迎小伙伴们指教,也希望遇到能共同进步的朋友
展开
-
剑指Offer10-I.斐波那契数列
原题LeetCode链接:剑指Offer 10-I. 斐波那契数列文章目录题目:斐波那契数列思路1.递归法2.动态规划C++代码复杂度分析3.优化的动态规划算法C++代码复杂度分析题目:斐波那契数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答原创 2020-07-13 14:30:35 · 438 阅读 · 0 评论 -
C++图解:剑指Offer09. 用两个栈实现队列
原题LeetCode链接:剑指Offer09. 用两个栈实现队列文章目录题目:用两个栈实现队列思路C++代码复杂度分析:题目:用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],原创 2020-07-02 10:15:42 · 426 阅读 · 0 评论 -
C++详解:剑指Offer 07. 重建二叉树
原题LeetCode链接:剑指Offer 07. 重建二叉树题目:剑指Offer 07. 重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下二叉树 3 / \ 9 20 / \ 15 7思路 给出两个遍历序列来建二叉树这种题目解决方法几乎是一致的。原创 2020-07-02 09:53:40 · 450 阅读 · 0 评论 -
4种方法详解:剑指Offer 06. 从尾到头打印链表
原题LeetCode链接:剑指Offer 06. 从尾到头打印链表题目:剑指Offer 06. 从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例1:输入:head = [1,3,2]输出:[2,3,1]0 <= 链表长度 <= 10000思路一:reverse()方法 遍历链表,将遍历到的元素依次插入到vector中,然后调用reverse方法反转即可。时间复杂度:O(n),空间复杂度:O(1)。C++代码如下:class Solu原创 2020-06-28 17:38:10 · 5314 阅读 · 1 评论 -
详解:剑指Offer05.替换空格
原题LeetCode链接:剑指Offer05. 替换空格文章目录题目:替换空格思路:C++代码:题目:替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例1:输入:s = "We are happy."输出:"We%20are%20happy."0 <= s 的长度 <= 10000思路: 这题比较简单,申请一个空字符串result,遍历字符串s,遇到空格则在result中插入%20,否则将遍历的字符直接插入。空间复杂度:O(n),时间复杂度:原创 2020-06-28 15:22:47 · 3156 阅读 · 0 评论 -
剑指Offer 04.二维数组中的查找
原题LeetCode链接:剑指Offer04. 二维数组中的查找题目:二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵matrix如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19][3, 6, 9, 16, 22][10, 13, 14, 17, 24],[18, 21, 23,原创 2020-06-26 19:52:52 · 460 阅读 · 0 评论 -
三种方法详解:剑指Offer 03. 数组中重复的数字
LeetCode:剑指Offer 03. 数组中重复的数字文章目录LeetCode:剑指Offer 03. 数组中重复的数字原题LeetCode链接:[剑指Offer 03. 数组中重复的数字](https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/)题目:找出数组中重复的数字方法一:排序方法二:集合法、unordered_set方法三:就地交换原题LeetCode链接:剑指Offer 03. 数组中重复的数字题目:原创 2020-06-24 16:14:29 · 750 阅读 · 0 评论