算法
xiaoxiawancsdn
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 06. 从尾到头打印链表
二维数组中的查找。 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 4种解法 解法1: 数组 遍历链表,计算元素个数 新建数组,从最后一个元素开始赋值 public int[] reversePrint(ListNode head) { int size = 0; ListNode temp = head; while (tem原创 2020-09-06 23:14:33 · 84 阅读 · 0 评论 -
剑指 Offer 05. 替换空格
二维数组中的查找。 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 3种解法 解法1 初始化一个StirngBuilder,记为res。 历字符串中的每个字符c: 当c为空格时,向res后添加字符串"%20"。 当c不为空格时,向res添加字符c。 public String replaceSpace(String s原创 2020-09-05 13:00:49 · 226 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
二维数组中的查找。 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例 1: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ] 给定 targe原创 2020-09-04 20:32:05 · 126 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 限制: 2 <= n <= 100000 5种解法 解法1 把数组中的元素一个个加入到set集合中,加入的时候如果有重复的直接返回即可。 public int findRepeatNumber(int原创 2020-09-04 12:52:14 · 60 阅读 · 0 评论