
数组和字符串
数组和字符串
低头看天,抬头走路
句句都是正确的废话,招招都是致命的空招。
展开
-
leetcode35. 搜索插入位置
题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出: 0 思路 数组...原创 2019-08-06 19:58:48 · 102 阅读 · 0 评论 -
leetcode3 无重复字符的最长子串
题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke...原创 2019-07-04 00:46:49 · 372 阅读 · 0 评论 -
leetcode88 合并两个有序数组
题目 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 =...原创 2019-07-09 23:44:36 · 81 阅读 · 0 评论 -
leetcode34. 在排序数组中查找元素的第一个和最后一个位置
题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4] 示例 2: 输入: nums = [5,7,7,8,8,10], t...原创 2019-08-05 21:03:35 · 102 阅读 · 0 评论 -
leetcode6 Z字形变化
题目 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。 请你实现这个将字符串进行指定行数变换的函数:...原创 2019-07-05 00:06:08 · 351 阅读 · 0 评论 -
leetcode5 最长回文子串
题目 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 思路 从中间往两边找,分奇对称和偶对称两种情况处理,然后截取子字符串 实现 class Solution { public: string long...原创 2019-07-04 22:49:38 · 218 阅读 · 0 评论 -
leetcode8 字符串转换整数 (atoi)
题目 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...原创 2019-07-08 00:27:14 · 120 阅读 · 0 评论 -
leetcode43. 字符串相乘
题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = “2”, num2 = “3” 输出: “6” 示例 2: 输入: num1 = “123”, num2 = “456” 输出: “56088” 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数...原创 2019-08-13 00:27:46 · 255 阅读 · 0 评论 -
字符串归一化
输入:字符数组; 输出:字符数组;转换规则:单词(非空格字符认为是单词构成)间保留一个空格,最开始和最结尾的地方不保留空格,奇数个单词首字母大写,其他小写。 要求:时间复杂度O(n),空间复杂度O(1),即char[]原地转换。 举例:输入” I am a good student”,输出”I am A good Student”。public class NormalizdChar原创 2016-07-31 23:43:52 · 12512 阅读 · 0 评论 -
剑指offer第42题:单词反转
输入:字符数组; 输出:字符数组;转换规则:单词(非空格字符认为是单词构成)翻转,即最后一个单词在前,第一个单词在后,如此倒转。要求:时间复杂度O(n),时间复杂度O(1),即char[]原地转换。 eg:输入”Are you ready now.”,输出”now. ready you Are” 思路:两次反转public class Reverse { char space = '原创 2016-08-01 00:48:38 · 495 阅读 · 0 评论