
var longestPalindrome = function(s) { const set_ = new Set() let res = 0 for (let i = 0; i < s.length; i ++) { if (set_.has(s[i])) { res += 2 set_.delete(s[i]) } else { set_.add(s[i]) } } if (set_.size >= 1) { res ++ } return res};
var longestPalindrome = function(s) {
let len=s.length
let dp=[]
let ans=''
for(let i=0;i<len;i++){
dp[i]=new Array(len).fill(true)
}
for(let length=1;length<=len;length++){
for(let left=0;left<len;left++){
let right=left+length-1
if(right>=len)
break
if(right-left<3)
dp[left][right]=(s[left]===s[right])
else
dp[left][right]=(dp[left+1][right-1])&&(s[left]===s[right])
if(dp[left][right]&&length>ans.length){
ans=s.slice(left,right+1)
}
}
}
return ans
};
var lengthOfLongestSubstring = function(s) {
let map=new Set()
let fast=0;
let ans=0
let n=s.length
for(let i=0;i<n;i++){
if(i!==0){
map.delete(s[i-1])
}
while(fast<n&&!map.has(s[fast]))
{
map.add(s[fast])
fast++
}
ans=Math.max(ans,fast-i)
}
return ans
};
function solve( s , t ) {
// write code here
let n=Math.max(s.length,t.length)
s=s.padStart(n,0)
t=t.padStart(n,0)
let res=[]
let rest=0
for(let i=n-1;i>=0;i--){
let subres=parseInt(s[i])+parseInt(t[i])+rest
if(subres>=10&&i!==0){
subres=subres-10
rest=1
}
else{
rest=0
}
res.unshift(subres)
}
return res.join('')
}
//别人的答案
function solve( s , t ) {
// write code here
var n = Math.max(s.length,t.length)
//前面补0使得俩数长度一样
s = s.padStart(n,0)
t= t.padStart(n,0)
var c = 0
// 进位
// 结果
var res = ''
for(let i = n-1;i>=0;i--){
let tp = parseInt(s[i]) +parseInt(t[i]) + c
// 判断进位
c = Math.floor(tp/10)
// 保留余数
tp = tp%10
// 注意:每一步算出来的结果需要放在右边上。
res = tp + res
}
if (c === 1){
res = '1' + res
}
return res
}
var compareVersion = function(version1, version2) {
const v1 = version1.split('.');
const v2 = version2.split('.');
for (let i = 0; i < Math.max(v1.length,v2.length); ++i) {
let x = 0, y = 0;
if (i < v1.length) {
x = parseInt(v1[i]);
}
if (i < v2.length) {
y = parseInt(v2[i]);
}
if (x > y) {
return 1;
}
if (x < y) {
return -1;
}
}
return 0;
};
字符串变形
function trans(s, n){
let s1=s.split(' ').map((item)=>{
let word=item.split('')
for(let i=0;i<word.length;i++){
if(word[i]!==' '&&word[i]>='a'&&word[i]<='z')
word[i]=word[i].toUpperCase()
else if(word[i]!==' '&&word[i]>='A'&&word[i]<='Z')
word[i]=word[i].toLowerCase()
}
return word.join('')
})
return s1.reverse().join(' ')
}
module.exports = {
trans : trans
}
var longestCommonPrefix = function(strs) {
let ans=strs[0]
for(let i=1;i<strs.length;i++){
let now=strs[i]
let j=0
for(;j<Math.min(ans.length,now.length);j++){
if(now[j]!==ans[j]){
break;
}
}
ans=ans.substring(0,j)
}
return ans
};
var isFlipedString = function(s1, s2) {
return s1.length===s2.length &&(s1+s1).indexOf(s2)!==-1
};