随笔分类 -  剑指offer

摘要:剑指 Offer 07. 重建二叉树 难度中等518 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20 阅读全文
posted @ 2021-07-28 09:21 刘凯_tju 阅读(35) 评论(0) 推荐(0)
摘要:剑指 Offer 06. 从尾到头打印链表 难度简单167 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] /** * Definition for singly-linked list. * struct  阅读全文
posted @ 2021-07-27 09:38 刘凯_tju 阅读(56) 评论(0) 推荐(0)
摘要:剑指 Offer 05. 替换空格 难度简单144 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." class Solution { public: string replaceSp 阅读全文
posted @ 2021-07-27 09:32 刘凯_tju 阅读(46) 评论(0) 推荐(0)
摘要:剑指 Offer 04. 二维数组中的查找 难度中等400 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 阅读全文
posted @ 2021-07-26 15:48 刘凯_tju 阅读(38) 评论(0) 推荐(0)
摘要:一个长度为n + 1的数组里面的所有数字都在1 ~ n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{7,7,5,4,2,6,1,3},那么对应输出的应该是7。 1,官方解答 /*先将元素划分为两部分,计算前面部分的元素 阅读全文
posted @ 2021-07-21 09:27 刘凯_tju 阅读(83) 评论(0) 推荐(0)
摘要:剑指 Offer 03. 数组中重复的数字 难度简单485 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 阅读全文
posted @ 2021-07-21 09:17 刘凯_tju 阅读(52) 评论(0) 推荐(0)