- 博客(6)
- 收藏
- 关注
原创 17. 从尾到头打印链表
输入一个链表的头结点,按照从尾到头的顺序返回节点的值。 返回的结果用数组存储。 样例 输入:[2, 3, 5] 返回:[5, 3, 2] 遍历一遍,反转。 偷鸡偷鸡。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; ...
2019-07-21 12:53:52 161
原创 16. 替换空格
请实现一个函数,把字符串中的每个空格替换成"%20"。 你可以假定输入字符串的长度最大是1000。 注意输出字符串的长度可能大于1000。 样例 输入:"We are happy." 输出:"We%20are%20happy." 这个没啥好说的。偷鸡解法。一看就懂 class Solution { public: string replaceSpaces(string...
2019-07-21 12:49:42 117
原创 15. 二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 样例 输入数组: [ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 如果输入查找数值为7,则返回true, 如果输入查找数值为5,则返回false...
2019-07-21 12:46:02 106
原创 14. 不修改数组找出重复的数字
给定一个长度为n+1的数组nums,数组中所有的数均在1∼n的范围内,其中n≥1。 请找出数组中任意一个重复的数,但不能修改输入的数组。 样例 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。 思考题:如果只能使用O(1)O(1)的额外空间,该怎么做呢? 强调了O(1) 的空间。 得考虑数字的特殊性。 区间统计法: 统计...
2019-07-21 12:41:23 240
原创 13. 找出数组中重复的数字
给定一个长度为nn的整数数组nums,数组中所有的数字都在0∼n−10∼n−1的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出数组中任意一个重复的数字。 注意:如果某些数字不在0∼n−10∼n−1的范围内,或数组中不包含重复数字,则返回 -1; 样例 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 ...
2019-07-21 12:14:18 372
原创 剑指offer 49题. 最长不含重复字符的子字符串
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 假设字符串中只包含从’a’到’z’的字符。 样例 输入:"abcabc" 输出:3 这题目一开始看了好几遍代码都没懂,关键在于加粗的部分 双指针算法: 思路是 维护一个 i ~ j 的区间,使用hash_map 来确保 i~j之间的数都是不重复的。 每当j往后移动一个位置后。检查有没有重复的,...
2019-07-16 00:49:20 387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人