统计
发布:378篇
浏览:913808次
-
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false 题解 /** * @param {string} s * @return {boolean} */ var isPalindrome = function(s) { s=s.replace(/[\W_]/g,'').toLowerCase() for(let i=0;i<s.le... 展开全文
-
给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: True 解释: 你可以删除c字符。 题解 /** * @param {string} s * @return {boolean} */ var validPalindrome = function(s) { let t=s.split('') s=s.split('') let num=0 for(let i=0;i<Math.floor(s.length/2);i++){ if(s[i]!=s[s.length-1-i]... 展开全文
-
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 题解 /** * @param {string} s * @return {number} */ var countSegments = function(s) { s=s.trim() if(s==''){ return 0 } return s.split(/ +/).length }; 展开全文
-
给定两个字符串 A 和 B, 寻找重复叠加字符串A的最小次数,使得字符串B成为叠加后的字符串A的子串,如果不存在则返回 -1。 举个例子,A = "abcd",B = "cdabcdab"。 答案为 3, 因为 A 重复叠加三遍后为 “abcdabcdabcd”,此时 B 是其子串;A 重复叠加两遍后为"abcdabcd",B 并不是其子串。 题解 /** * @param {string} A * @param {string} B * @return {number} */ var repeatedStringMatch = function(A, B) { let num... 展开全文
-
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0 。 说明:一个单词是指由字母组成,但不包含任何空格的字符串。 示例: 输入: "Hello World" 输出: 5 题解 /** * @param {string} s * @return {number} */ var lengthOfLastWord = function(s) { s=s.trim().split(' ') return s[s.length-1].length }; 展开全文
-
给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。 示例 1: 输入: A = "ab", B = "ba" 输出: true 示例 2: 输入: A = "ab", B = "ab" 输出: false 示例 3: 输入: A = "aa", B = "aa" 输出: true 示例 4: 输入: A = "aaaaaaabc", B = "aaaaaaacb" 输出: true 示例 5: 输入: A = "", B = "aa" 输... 展开全文
-
给定一组字符,使用原地算法将其压缩。 压缩后的长度必须始终小于或等于原数组长度。 数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。 在完成原地修改输入数组后,返回数组的新长度。 进阶: 你能否仅使用O(1) 空间解决问题? 示例 1: 输入: ["a","a","b","b","c","c","c"] 输出: 返回6,输入数组的前6个字符应该是:["a","2","b","2","c","3"] 说明: "aa"被"a2"替代。"bb"被"b2"替代。"ccc"被"... 展开全文
-
你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。 示例 1: 输入:name = "alex", typed = "aaleex" 输出:true 解释:'alex' 中的 'a' 和 'e' 被长按。 示例 2: 输入:name = "saeed", typed = "ssaaedd" 输出:false 解... 展开全文
-
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。 你需要根据这个学生的出勤记录判断他是否会被奖赏。 示例 1: 输入: "PPALLP" 输出: True 示例 2: 输入: "PPALLL" 输出: False 题解 /** * @param {string} s * @return {bo... 展开全文
-
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 题解 /** * @param {string} s * @param {string} t * @return {boolean} */ var isAnagram = function(s, t) { if(s.length!=t.length){ return false } return s.split('').sort().toString()==t.split... 展开全文
-
给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。 (题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。) 注意: 你可以假设两个字符串均只含有小写字母。 canConstruct("a", "b") -> false canConstruct("aa", "ab") -> false canConstruct("aa", "aab")... 展开全文
-
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 输入:"ab-cd" 输出:"dc-ba" 示例 2: 输入:"a-bC-dEf-ghIj" 输出:"j-Ih-gfE-dCba" 示例 3: 输入:"Test1ng-Leet=code-Q!" 输出:"Qedo1ct-eeLg=ntse-T!" 题解 /** * @param {string} S * @return {string} */ var reverseOnlyLetters = function(S) { let a=S let b=S.re... 展开全文
-
给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = "11", b = "1" 输出: "100" 示例 2: 输入: a = "1010", b = "1011" 输出: "10101" 题解 /** * @param {string} a * @param {string} b * @return {string} */ var addBinary = function(a, b) { let max=Math.max(a.length,b.length)+1 while (a.length != max) a = '0' + a; wh... 展开全文
-
给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。 我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。 山羊拉丁文的规则如下: 如果单词以元音开头(a, e, i, o, u),在单词后添加"ma"。 例如,单词"apple"变为"applema"。 如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。 例如,单词"goat"变为"oatgma"。 根据单词在句子中的索引,... 展开全文
-
给定两个字符串,你需要从这两个字符串中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。 子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。 输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。 示例 : 输入: "aba", "cdc" 输出: 3 解析: 最长特殊... 展开全文
-
每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名。 除了小写字母,这些电子邮件还可能包含 '.' 或 '+'。 如果在电子邮件地址的本地名称部分中的某些字符之间添加句点('.'),则发往那里的邮件将会转发到本地名称中没有点的同一地址。例如,"alice.z@leetcode.com” 和 “alicez@leetcode.com” 会转发到同一电子邮件地址。 (请注意,此... 展开全文
-
在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。 注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移动等。此外,假设每次移... 展开全文
-
cross-env cross-env是跨平台设置和使用环境变量的脚本。 在大多数Windows命令行中在使用NODE_ENV = production设置环境变量时会报错。同样,Windows和Linux命令如何设置环境变量也有所不同。 使用cross-env可以设置在不同的平台上有相同的NODE_ENV参数。 适用场景 适用于本地线上环境有差异的场景,例如本地线上使用不用的开发域名则可以通过NODE_ENV来判断 if(process.env.NODE_ENV!='development'){ //线上环境 } proce... 展开全文
-
报错: Error 403 No valid crumb was included in the request 解决方案1: 在系统管理 –> 全局配置安全中调整设置: 取消“防止跨站点请求伪造”的勾选 解决方案2: 勾选“防止跨站点请求伪造” 获取Jenkins-Crumb wget -q --auth-no-challenge --user USERNAME --password PASSWORD --output-document - 'http://IP:PORT/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)' 更换USERNAME PASSWORD IP:PORT ... 展开全文
-
使用 [] 拼接变量 result.article_title //等效 let a='article'; result[a + '_title'] 使用evel() let a1 = 123 let s = 1 console.log(eval('a' + s)) //123 展开全文