
leetcode刷题记录
js版/java版
AndLina
web前端打工人
展开
-
43. 字符串相乘(不能用数和字符串的方法相互转换)
一.给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。说明:num1和num2的长度小于110。num1 和num2 只包含数字0-9。num1 和num2均不以零开头,除非是数字 0 本身。不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。二.思路双层循环 模拟乘法 数字倒序相乘 取余 取整 相加难点:当列的位置/** * @par...原创 2020-09-12 23:23:03 · 371 阅读 · 0 评论 -
8. 字符串转换整数 (js parseInt()+NaN值和溢出处理)
一.将字符串转换成整数。 " -42" //4193 去除开头空格 "words and 987" //0 开头字母的不能转 "-91283472332" // -Math.pow(2,31) 即-2147483648 溢出的为边界值 "-91283472332" // Math.pow(2,31)-1 即 2147483647 溢出的是为边值二.字母开头会返回NaN NaN!=NaN/** * @param {str...原创 2020-09-12 22:15:56 · 1115 阅读 · 0 评论 -
7. 整数反转(负数、反转后开头为零、反转后溢出)
一.给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。[−231, 231− 1],溢出返回 0。-123 // -321二. 思路/*** js Number范围 正负2的53次方Math.pow(2,53) 直接返回0* x是负数的情况* x反转后开头是0的情况* 数组反转 整数-字符串-数组 数组-字符串-整数*//** * @param {number} x * @return {number} */var rev...原创 2020-09-12 21:39:36 · 734 阅读 · 0 评论 -
6. Z 字形变换(给定字符串,画N后逐行拼接成新字符串)
一.将给定字符串按给定行数 画N ,输出从左往右逐行读取拼成的新字符串比如输入字符串为"LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后输出:"LCIRETOESIIGEDHN"二.思路一个数组list n行 一行一个字符串元素遍历给定的字符串 每次放的地方list[index] index碰到0会 +1+1 碰到n-1 会-1-1 可以取一个方向dir=+-1...原创 2020-09-10 20:08:08 · 248 阅读 · 0 评论 -
1. 两数之和(根据和,找两个数的下标)
一.给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。二.思路 map 存 当前值和 index 遍历 判断map中有没有另一半 有 就返回map中存的value即另一半的index ; 无 就在map中存当前的值 和index/** * @param {number[]} nums * @param {number} target * @return...原创 2020-09-10 00:07:32 · 171 阅读 · 0 评论 -
763. 划分字母区间(相同字母在同一个区间,输出每个区间长度的数组)
一."ababcbacadefegdehijhklij" // [9,7,8] 划分为 "ababcbaca", "defegde", "hijhklij"二.思路 //1、用map记录每个字符最后出现的位置 res=[]输出的各个区间的长度 //2、start:每个区间的开头 end:每个区间的末尾 遍历字符串 更新end //3、如果 end落到了当前的区间里 那就说明最大的区间是第一个区间 push进去长度 //4、下一个start是这个end+1...原创 2020-09-09 23:06:33 · 210 阅读 · 0 评论 -
14. 最长公共前缀(字符串数组中找最长的相同字符串头)
一.14. 最长公共前缀查找字符串数组中的最长公共前缀。如果不存在,返回空字符串""。只小写字母a-z例:["flower","flow","flight"] // "fl"二.var longestCommonPrefix = function (strs) { //如果是空就返回'' 默认第一个是最长的字符 先遍历每个字符串 if (strs.length == 0) return ''; let com = strs[0]; fo...原创 2020-09-08 23:26:21 · 563 阅读 · 0 评论 -
48.最长不含重复字符的子字符串(连续)
前言刷题巩固js知识点+学习java一、48.最长不含重复字符的子字符串(连续)从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例1:输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb" 输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew" 输出: 3 解释: 因为无重复...原创 2020-09-07 23:36:55 · 1252 阅读 · 0 评论 -
283. 移动零(把零移动到数组尾)
一.283. 移动零给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。(把0放在数组末尾,其他顺序不变放前面)二.1、用sortvar moveZeroes = function(nums) { return nums.sort((a,b)=>(b?0:-1)) //如果后一个数不是0则返回0即数组不动 如果是0则返回-1即换位置};2、双指针 i遍历数组 j指向最前方的0 i不是0 如果j<i 把i值给...原创 2020-09-08 21:43:45 · 181 阅读 · 0 评论