
字符串
文章平均质量分 64
Jeniclala
这个作者很懒,什么都没留下…
展开
-
JavaScript 数组&字符串:交换数组中两数或者两字符串
交换数组中两数或者两字符串不允许定义新变量不允许使用ES6语法字符串做法:function swap(arr){ arr[0]=arr[0]+arr[1]; arr[1]=arr[0].slice(0,arr[0].length-arr[1].length); arr[0]=arr[0].slice(arr[1].length); return arr;}console.log(swap(['x','y']));数字做法:function swap(arr)原创 2021-08-26 10:30:02 · 461 阅读 · 0 评论 -
JavaScript 字符串:字符串相加
思路:因为本题不能使用任何 BigInteger库,所以我们可以使用双指针来模拟人工计算,步骤如下:(1)创建指针 i 指向 nums1末位数字,j 指向 nums2末位数字。(2)i, j 数字相加,用进位就用 carry 来记录进位值,无则为 0。(3)若产生进位,则当前数字为 (i+j)%10 的值。(4)若遍历过程中,nums1 或 nums2 当前已无数字,则用 0 补位来计算。functon addStrings(num1, num2) { let i = num1.le.原创 2021-08-08 15:17:00 · 1512 阅读 · 0 评论 -
JavaScript 字符串:无重复字符的最长子串
描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb” 输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb” 输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew” 输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为原创 2021-07-18 23:07:37 · 1957 阅读 · 0 评论 -
JavaScript 字符串:判断是否包含数字(待补充正则表达式做法)
描述给定字符串 str,检查其是否包含数字,包含返回 true,否则返回 false示例1 输入: ‘abc123’ 输出:truefunction containsNumber(str) { return (str.indexOf(0||1||2||3||4||5||6||7||8||9)==-1)?false:true;}本题也可以用正则表达式做待补充本题用到的知识点:1.String对象中的 indexOf() 方法定义和用法indexOf() 方法可返回某个指定的字符原创 2021-06-18 10:48:10 · 1729 阅读 · 1 评论 -
JavaScript 字符串:比较版本号 【思路与知识点总结】
描述一. 比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较忽略任何前导零后的整数值。比如"0.1"和"0.01"的版本号是相等的二. 如果版本号没有指定某个下标处的修订号,则该修订号视为0。例如,“1.1"的版本号小于"1.1.1”。因为"1.1"的版本号相当于"1.1.0",第3位修订号的下标为0,小于1三. version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0.示例1输入:“1.1”,“2.原创 2021-06-14 15:51:25 · 3452 阅读 · 0 评论 -
JavaScript 字符串:验证IP地址【思路与知识点总结】
描述编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1;同时,IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。IPv6 地址由8组16进制的数字来表示,每组表示 16 比特。这些组数字通过 (":")分割。比如, 2001:0db8:85a3:0000:0000:8a2e:0370:7334 是一个原创 2021-06-14 11:04:21 · 3637 阅读 · 1 评论 -
JavaScript 字符串:大数加法 【思路与知识点总结】
描述以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由’0’~'9’这10种字符组成)示例输入:“1”,“99” 返回值:“100”说明:1+99=100输入:“9007199254740991”,“1234567899999999999”返回值:“1243575099254740990”思路:将两个大数字符串位数对齐(用0补齐),便于进行每位相加操作。循环进行每一位的相加,还要加上上一次循环产生的进位。sum为字符串,原创 2021-06-13 21:53:35 · 1011 阅读 · 0 评论 -
JavaScript 字符串:最长回文子串(两种方法)【思路与知识点总结】
描述:给你一个字符串 s,找到 s 中最长的回文子串。示例1:输入:s = “babad” 输出:“bab”解释:“aba” 同样是符合题意的答案。示例2:输入:s = “cbbd” 输出:“bb”方法一:暴力法思路: 首先写出一个判断是否为回文串的工具函数。从头开始,不断增加字符判断每一个字符串是否是回文,并判断当前会问长度是否大于之前记录的最长回文串的长度,如果大于则更新回文串。function longestPalindrome(str){ let longstr="原创 2021-06-09 22:12:24 · 6512 阅读 · 1 评论 -
JavaScript 字符串:匹配括号序列【思路与知识点总结】
描述给出一个仅包含字符’(’,’)’,’{’,’}’,’[‘和’]’,的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]"不合法。示例1输入:"[(])" 返回值:false示例2输入:"[](([[]]){}{[]}([]))" 返回值:true思路一:将字符串循环替换()、[]、{},若替换后字符串的长度仍大于0,则证明有没有匹配的括号,结果为false先进行特殊情况处理:如果字符串长度为1原创 2021-06-09 11:13:20 · 1181 阅读 · 0 评论 -
JavaScript 字符串:最长公共前缀【思路与知识点总结】
描述编写一个函数来查找字符串数组中的最长公共前缀。示例输入:[“abca”,“abc”,“abca”,“abc”,“abcc”]返回值:“abc”思路一:先将字符串数组进行排序,排序之后,只需要比较第一个字符串与最后一个字符串的公共部分即为整个字符串数组的最长公共前缀。先进行特殊情况处理:字符串数组为空或者字符串数组只有一个字符串时。function longestCommonPrefix( strs ) { if(!strs.length) return ''; if(str原创 2021-06-08 22:16:21 · 1343 阅读 · 0 评论 -
JavaScript 字符串:反转字符串&判断回文【思路与知识点总结】
描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)示例1输入:“abcd” 返回值:“dcba”思路:调用字符串和数组API。首先将字符串分割成字符串数组,然后反转数组,最后将数组中的所有元素放入一个字符串。function solve( str ) { return str.split("").reverse().join("");}总结: 本题所用的知识点String对象中的方法 split()split() 方法用于把一个字原创 2021-06-08 20:07:23 · 1038 阅读 · 0 评论 -
JavaScript 字符串:第一个只出现一次的字符 【思路与知识点总结】
描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)示例1输入:“google” 返回值:4思路:使用ES6中的Map映射,通过遍历字符串,生成字符与出现次数的映射。例如:然后,遍历此map映射,返回第一个值为1的键。function FirstNotRepeatingChar(str){ const map=new Map(); for(let i=原创 2021-06-06 22:33:21 · 1305 阅读 · 0 评论