【牛客题霸题解】反转字符串

反转字符串

http://www.nowcoder.com/questionTerminal/c3a6afee325e472386a1c4eb1ef987f3

解法一:
开辟一个和str长度大小相同的一个字符串ans,把传入的str倒序赋值到ans字符串上, 时间复杂度,额外空间复杂度
c++

class Solution {
public:
    string solve(string str) {
        string ans = str;
        int len = str.length();
        for(int i = 0 ; i < len ;i++)
        {
                ans[i] = str[len-1-i];
        }
        return ans;
    }
};

java

import java.util.*;
public class Solution {
    public String solve (String str) {
        char[] ans = str.toCharArray();
        int len = str.length();
        for(int i = 0 ; i < len ;i++)
        {
                ans[i] = str.charAt(len-1-i);
        }
        return new String(ans);
    }
}

python

class Solution:
    def solve(self , str ):
        ans=""
        Len = len(str)
        for i in range(0,Len):
            ans+=str[Len-1-i]
        return ans

解法二:
原地交换,,注意:交换进行的次数是
时间复杂度,额外空间复杂度

class Solution {
public:
    string solve(string str) {
        int len = str.length();
        for(int i = 0 ; i < len/2 ;i++)
        {
                swap(str[i],str[len-1-i]);
        }
        return str;
    }
};

java

import java.util.*;
public class Solution {
    public String solve (String str) {
        char[] cstr = str.toCharArray();
        int len = str.length();
        for(int i = 0 ; i < len/2 ;i++)
        {
                char t = cstr[i];
                cstr[i] = cstr[len-1-i];
                cstr[len-1-i]=t;
        }
        return new String(cstr);
    }
}

解法三:
直接调用库函数
c++

class Solution {
public:
    string solve(string str) {
       reverse(str.begin(),str.end());
       return str;
    }
};

java

import java.util.*;
public class Solution {
    public String solve (String str) {
        StringBuffer sb =new StringBuffer(str);//此方法针对的是io流,不能针对字符串。
        return sb.reverse().toString();
    }
}

python

class Solution:
    def solve(self , str ):
        return str[::-1]
牛客题霸题解 文章被收录于专栏

QAQ

全部评论

相关推荐

狸猫换offer:神通广大的互联网
点赞 评论 收藏
分享
01-12 17:45
门头沟学院 Java
985废物一枚:就是问问你能不能接受北京的房租,hr也知道公司工资不高,大概率是要贴钱的
找实习记录
点赞 评论 收藏
分享
评论
28
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务