leetcode| Reverse String

Write a function that takes a string as input and returns the string reversed.

Example:
Given s = "hello", return "olleh".

题目:给你丫一字符串,你给我倒着写。。。。

思路:我一开始想着这东西肯定是能解的,因为有StringBuilder的类有个反转的API,但是要知道,不能这么做,,,自己练习都还作弊是要遭雷劈的。。。于是,我第一时间想到,循环之,而后对称的替换之,但想着,不行,这样思路太简单了,代码一点观赏性都木有,我要搞个新鲜的,结合之前求n次幂的思路,搞了个递归版,反转一个字符串,我们首先可以将丫分两半,一半一半来,有没有奇数长的分不成两半怎么办,能怎么办啊,分三段呗,以下:

public String reverseString(String s) {

  if(s == "" || s == null || s.length() <2 ){
    return s;
  }
  int len = s.length();

  if(len%2==0){
    return reverseString(s.substring(len>>1,len)) + reverseString(s.substring(0, len>>1));
  }else{
    return s.charAt(len-1)+reverseString(s.substring(len>>1,len-1)) + reverseString(s.substring(0, len>>1));
   }
}

完。。。。

posted @ 2016-07-14 14:20  Roger's  阅读(139)  评论(0编辑  收藏  举报