算法菜鸟Leetcode之旅-1

来源:互联网 发布:淘宝网电动三轮车 编辑:程序博客网 时间:2024/06/05 06:23

第一次刷leetcode,也向往着成为算法大神。

按照难度从低到高的顺序刷题


#344 反转字符串

第一次写的代码妥妥的挂掉了,好像复杂度太高,继续!!!

public class Solution {    public String reverseString(String s) {        char[] chs = s.toCharArray();        int l = 0;        int r = chs.length - 1;        while (l < r) {            char temp = chs[l];            chs[l] = chs[r];            chs[r] = temp;            /*            其实可以用三次异或操作,交换,不占用temp空间            */        }        return String.valueOf(chs);    }}/*我真是脑残,while里面没写l--和r--死循环当然复杂度高了*/

第二遍 明显写错了

public class Solution {    public String reverseString(String s) {        String s_ = "";        for (int i = s.length() - 1; i >= 0; i--) {            s_ += s.substring(i);        }        return s_;    }}/*s是不变的啊,这样截取最终岂不是很长*/

我想不出来了。。。

hahaha…
这里写图片描述

代码如下

public class Solution {    public String reverseString(String s) {        char[] chs = new char[s.length()];        for (int i = s.length() - 1; i >= 0; i--) {            chs[s.length() - 1 - i] = s.charAt(i);        }        return String.valueOf(chs);    }}/*虽然过了,但好复杂*/

下面是比人写的

public String reverseString(String s) {    return  new StringBuilder(s).reverse().toString();}/*就一行!!!准确的说一行都没有,直接返回了*/
0 0
原创粉丝点击