leetcode:Reverse String

344. Reverse String

  My Submissions
Total Accepted: 29346  Total Submissions: 50197  Difficulty: Easy

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

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


两种方式:

1、迭代

public class Solution {
    public String reverseString(String s) {
        int n = s.length();
        if(n <= 1) return s;
        String leftString = s.substring(0,n/2);
        String rightString = s.substring(n/2,n);
        return reverseString(rightString) + reverseString(leftString);
    }
}

substring方法如下:
public String substring(int beginIndex, int endIndex)
第一个int为开始的索引,对应String数字中的开始位置,
第二个是截止的索引位置,对应String中的结束位置
1、取得的字符串长度为:endIndex - beginIndex;
2、从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符
如:
"hamburger".substring(4, 8) returns "urge"
 "smiles".substring(1, 5) returns "mile"
取长度大于等于3的字符串a的后三个子字符串,只需a.subString(a.length()-3, a.length());

2、不迭代

public class Solution {
    public String reverseString(String s) {
        if(s.length() == 0) return s;
        else{
            char[] chars = s.toCharArray();
            for(int i = 0; i < chars.length/2; i++) {
                char temp = chars[i];
                chars[i] = chars[chars.length-1-i];
                chars[chars.length-1-i] = temp;
            }
            return   String.valueOf(chars); 
        }
    }
}
java中如何将char数组转化为String?
1.直接在构造String时建立。 char data[] = {'s', 'g', 'k'}; String str = new String(data);
 2.String有方法可以直接转换。 String.valueOf(char[] chr)就可以。 如: 
char[] cha = {'s','g','h'}; String n = String.valueOf(cha);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值