![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
姑娘,你丑你有理啊
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 57 - II. 和为s的连续正数序列
描述: 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 示例 1: 输入:target = 9 输出:[[2,3,4],[4,5]] 示例 2: 输入:target = 15 输出:[[1,2,3,4,5],[4,5,6],[7,8]] 思路: ...原创 2020-11-15 09:27:03 · 50 阅读 · 0 评论 -
剑指offer——二叉树的最近公共祖先
leetcode链接: https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/submissions/ 描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3,5,原创 2020-11-11 11:47:39 · 74 阅读 · 0 评论 -
剑指 Offer 15. 二进制中1的个数
链接:https://leetcode-cn.com/problems/er-jin-zhi-zhong-1de-ge-shu-lcof/ 描述: 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1: 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1原创 2020-11-09 16:10:27 · 64 阅读 · 0 评论 -
剑指offer24—反转链表
leetcode链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/ 描述: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路: 利用递归的方法。递归三部曲: 终止条件是什么? 返回值是什么? 递归要做什么? 递归可以看作做是head,head.原创 2020-11-07 16:05:17 · 53 阅读 · 0 评论 -
2020-11-06
leetcode链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/ 描述: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思路: 这个题纯粹是背住了,哈哈哈。 方法应该是递归吧 /** * Definition for singl原创 2020-11-06 19:40:35 · 55 阅读 · 0 评论 -
剑指 Offer 54—— 二叉搜索树的第k大节点
leetcode:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/submissions/ 描述: 给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / 1 4 2 输出: 4 示例 2: 输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / 3 6 / 2 4 / 1原创 2020-11-06 19:29:56 · 90 阅读 · 0 评论 -
剑指 Offer 06——从尾到头打印链表
leetcode链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/ 描述: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 思路:‘ 第一想法是用栈 ,因为栈是先进后出,可以将链表元素依次加入栈,然后弹出,即可逆序。 /** * Definition for singly-linked list. * public原创 2020-11-06 19:21:42 · 56 阅读 · 0 评论 -
剑指 Offer 05.——替换空格
leetcode链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/ 描述: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = “We are happy.” 输出:“We%20are%20happy.” 思路: 操作字符串的类有两个:StringBuilder和StringBuffer,其中stringbuffer是线程安全的,使用synchronized关键字来保证线程安全;stringbuilder是线原创 2020-11-06 18:42:10 · 55 阅读 · 0 评论 -
剑指offer 17——打印从1到最大的n位数
leetcode链接:https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/ 描述: 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印 n 为正整数 思路: 我的第一想法就是找到n位数可以代表的最大值,然后for循环依次原创 2020-11-05 19:47:28 · 69 阅读 · 0 评论 -
剑指offer 27——二叉树的镜像
leetcode链接:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/ 描述: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / 2 7 / \ / 1 3 6 9 镜像输出: 4 / 7 2 / \ / 9 6 3 1 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 思路: 这个就是将树进原创 2020-11-05 18:18:18 · 86 阅读 · 0 评论 -
剑指offer 55-1——二叉树的深度
leetcode链接:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/ 描述: 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回它的最大深度 3 。 思路: 可以利用递归的方式,只考虑root,root.left,root.right即可原创 2020-11-05 18:02:21 · 78 阅读 · 0 评论 -
## 剑指offer 03——数组中重复的数字
题目均为leetcode上的题,这里是做刷题记录。有自己的题解和大神们的题解,希望可以共同进步呀! 剑指offer 03——数组中重复的数字 原题连接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/ 描述:找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。原创 2020-11-04 15:57:21 · 68 阅读 · 0 评论