美文网首页
2022-02-23 「917. 仅仅反转字母」

2022-02-23 「917. 仅仅反转字母」

作者: 柠香萌萌鸡 | 来源:发表于2022-02-23 09:23 被阅读0次

    发现了一个简书的bug,new一个新文章首行首个文字的首字母一定会被独立大写,导致我无法正确打字TAT。

    今日简单题:https://leetcode-cn.com/problems/reverse-only-letters/

    先讲我自己的暴力思路,最近可能刚学会用Stack很兴奋,看到反向就想用,也确实能用,就是需要2个for循环,要把String转成char[],先遍历一遍char[],根据ascii码把字母找出来压入栈,再遍历一遍,遇到字母就从Stack里peek之后替换,再pop,最后返回的时候还要把char[]转换回String,时间复杂度2n,可以说很不优秀了。

    在写第一个for循环的时候,就在想有没有可能直接把替换的动作给做了,但是如果用栈来存,必须要遍历到最后一个,才能把头给放进去,所以只能放弃。

    后来看答案,果然还是一次遍历,用双指针。

    这里记录一个常用ascii码:

    a-z:97-122,A-Z:65-90,0-9:48-57

    String转char[]的方法:

    String s = “abc”;

    char[] cs = s.toCharArray();

    char[]转String:

    String.valueOf(cs);

    相关文章

      网友评论

          本文标题:2022-02-23 「917. 仅仅反转字母」

          本文链接:https://www.haomeiwen.com/subject/zqqolrtx.html