
剑指offer第2版
不一样的天蝎座
NLP
展开
-
剑指offer58-I:反转单词顺序
剑指offer58-I:反转单词顺序1、题目2、代码2.1、双指针法2.2、分割字符串+倒序连接3、随笔3.1、StringBuilder3.2、s.split()1、题目剑指offer58-I:反转单词顺序输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例1:输入: "the sky is blue"输出: "blue is sky the原创 2021-05-08 20:07:30 · 192 阅读 · 0 评论 -
剑指offer35:复杂链表的复制
剑指offer35:复杂链表的复制1、题目2、代码3、随笔3.1、测试代码1、题目剑指offer35:复杂链表的复制请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。2、代码使用HashMap。class Solution { public Node copyRandomList(Node head) { //原链表为空原创 2021-05-07 21:11:45 · 138 阅读 · 0 评论 -
剑指offer52:两个链表的第一个公共节点
剑指offer52:两个链表的第一个公共节点1、题目2、代码3、随笔3.1、测试代码1、题目剑指offer52:两个链表的第一个公共节点输入两个链表,找出它们的第一个公共节点。2、代码class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode A = headA;//指针A,先遍历A链表,再遍历B链表,直到走到第一个公共节点与B指针相遇,原创 2021-05-02 15:34:32 · 159 阅读 · 3 评论 -
剑指offer24:反转链表
剑指offer24:反转链表1、题目2、代码2.1、方案1:迭代(双指针)2.2、方案2:递归(先传递再回溯)3、随笔3.1、测试代码1、题目剑指offer24:反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL2、代码2.1、方案1:迭代(双指针)原链表为 1->2->3->4原创 2021-04-30 22:54:43 · 332 阅读 · 1 评论 -
剑指offer22:链表中倒数第k个节点
剑指offer22:链表中倒数第k个节点1、题目2、代码2.1、方案1:暴力破解2.2、方案2:算法优化3、随笔3.1、测试代码1、题目剑指offer22:链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5原创 2021-04-29 21:08:59 · 122 阅读 · 0 评论 -
剑指offer18:删除链表的节点
剑指offer18:删除链表的节点1、题目2、代码3、随笔3.1、代码测试结语1、题目剑指offer18:删除链表的节点给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。说明:题目保证链表中节点的值互不相同若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点示例1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数原创 2021-04-10 23:41:36 · 156 阅读 · 0 评论 -
剑指offer06:从尾到头打印链表
剑指offer06:从尾到头打印链表1、题目2、代码2.1、方案1:递归法2.2、方案2:辅助栈法3、随笔3.1、定义单链表3.2、递归3.3、列表结语1、题目剑指offer06:从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例1:输入:head = [1,3,2]输出:[2,3,1]2、代码2.1、方案1:递归法先走至链表尾端,回溯时依次将节点值加入列表,然后将列表转为数组即可。/** * Definition for singly-l原创 2021-04-07 23:41:25 · 214 阅读 · 2 评论 -
剑指offer04:二维数组中的查找
剑指offer04:二维数组中的查找1、题目2、代码2.1、方案1:暴力破解2.2、方案2:算法优化3、随笔3.1、复杂度分析结语1、题目04:二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例: matrix = [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6,原创 2021-03-30 21:37:46 · 207 阅读 · 0 评论 -
剑指offer53-II:0~n-1中缺失的数字
剑指offer53-II:0~n-1中缺失的数字1、题目2、代码2.1、方案1:暴力求解2.2、方案2:算法优化3、随笔3.1、排序数组中的查找问题3.2、复杂度分析结语1、题目53-II:0~n-1中缺失的数字一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。实例1:输入: [0,1,3]输出: 2实例2:输入: [0,1,2,3,4,5,6,7,9]输出: 8原创 2021-03-29 21:03:19 · 369 阅读 · 0 评论 -
剑指offer53-I:在排序数组中查找数字I
剑指offer53-I:在排序数组中查找数字I1、题目2、代码2.1、方案1:暴力破解2.2、方案2:算法优化3、随笔3.1、排序数组中的查找问题3.2、复杂度分析1、题目53-I:在排序数组中查找数字I统计一个数字在排序数组中出现的次数。示例1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例2:输入: nums = [5,7,7,8,8,10], target = 6输出: 02、代码2.1、方案1:暴力破解直接遍历数组,数组元素原创 2021-03-28 22:41:06 · 157 阅读 · 0 评论 -
剑指offer29:顺时针打印矩阵
剑指offer29:逆时针打印矩阵1、题目2、代码3、随笔3.1、 二维数组的长度3.2、一个矩阵的行数和列数3.3、直接返回一维空数组结语1、题目29:逆时针打印矩阵输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12原创 2021-03-26 20:23:36 · 370 阅读 · 0 评论 -
剑指offer03:数组中重复的数字
剑指offer03:数组中重复的数字1、题目2、代码3、随笔3.1、Java类HashSet3.2、遍历数组的元素1、题目03:数组中重复的数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 2、代码使用一个HashSet来辅助。class Solu原创 2021-03-24 21:06:18 · 325 阅读 · 1 评论 -
剑指offer59-1:滑动窗口的最大值
剑指offer59-1:滑动窗口的最大值1、题目2、代码3、随笔4、结语1、题目59-I:滑动窗口的最大值给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7原创 2021-03-23 23:25:11 · 245 阅读 · 0 评论 -
剑指offer59-Ⅱ: 队列的最大值
剑指offer59-Ⅱ: 队列的最大值题目代码随笔java类Queuejava类Deque时间复杂度分析结语题目59-Ⅱ:队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例1:输入: ["MaxQueue","push_back","push_back","max_value","pop_原创 2021-03-18 22:50:33 · 281 阅读 · 0 评论