Skip to content

Mermaid-Liu/leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

leetcode

注意分析过程+沟通+良好的编程习惯(变量名,测试用例都要注意)
反转字符串的问题:

普通反转字符串

将传入的字符串转成数组,按空格分隔
将数组遍历,每一项item反转

将字符串中每2k个字符反转

遍历字符串,将i的间隔设定为i+=2k<br />
利用Es6扩展运算符将字符串转成数组,[...res.splice(i,i+k)]<br />
将该部分反转,然后再join回字符串<br />
后半部分的字符串不用反转于是就是 res.splice(i+k,i+2*k)<br />
再将两部分+就是返回的新的字符串<br />

将字符串中的元音字符反转

利用好数组这一种堆栈的数据结构,先进的后出。
将传入的字符串和元音的正则(/[aeiouAEIOU]/)匹配,如果匹配到了将匹配到的字母push到一个空数组里面去,注意:这里先进的会后出哦,返回一个-1或者任何一个想要的值,元音的字母部分会被替换成-1
将这个新的数组遍历,遇到了等于-1的值时,就把刚刚装有元音的数组里的最上面的字符pop出来给这个-1的位置
积累:for(let v in arr)v是指脚标 arr[v]才是值

总结:

 不一定遇到该类问题就一定要转成数组来处理,字符串也可以处理,splice是提取字符串的某一个部分,在这种情况下很有用。<br />
 方法二还可以用正则表达式去匹配满足条件的字符串。<br />
 按2K个字符串进行分组:`(\\w){${2 * k}}|((\\w){1,${2 * k - 1}}$)`, 'g'`<br />

About

coding together

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors