反转字符串

作者: coder_flag | 来源:发表于2018-09-08 20:31 被阅读9次

    编写一个函数,其作用是将输入的字符串反转过来。

    示例 1:
    输入: "hello"
    输出: "olleh"
    
    示例 2:
    输入: "A man, a plan, a canal: Panama"
    输出: "amanaP :lanac a ,nalp a ,nam A"
    

    解法:

    先说说自己的解法,思路是先把字符串转化成字符数组,再把字符数组反转,然后再把数组拼接成一个字符串返回。(以下是自己的解法,能实现但耗时太久,不要参照)

    class Solution {
          public void restr(String[] array,int start,int end){
            while(start<end){
            String temp=array[start];
            array[start++]=array[end];
            array[end--]=temp;
            }
        }
        public String reverseString(String s) {
            String[] array = s.split("");
            int n=array.length;
            restr(array,0,n-1);
            String restring ="";
            for(int i=0;i<n;i++){
                restring =restring+array[i];
            }
            return restring;
        }
    }
    
    

    解法1:(java)

    正解,其实上面思路跟这个一样.( toCharArray() 、 valueOf()函数)

    class Solution {
        public String reverseString(String s) {
            char str[]=s.toCharArray();
            for(int i=0;i<str.length/2;i++){
                char temp=str[i];
                str[i]=str[str.length-1-i];
                str[str.length-1-i]=temp;
            }      
            return String.valueOf(str);        
        } 
    }
    

    解法2:(python)

    领略下python大法的牛逼!!!(就一行。。。。!!)

    class Solution:
        def reverseString(self, s):
            return s[::-1];
    

    相关文章

      网友评论

        本文标题:反转字符串

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