Java版一:
package tencent;
/**
* 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
*
* 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
*
* 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
*
*
*
* 示例 1:
*
* 输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"] 示例 2:
*
* 输入:["H","a","n","n","a","h"] 输出:["h","a","n","n","a","H"]
*
* 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-string
* 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
*
* @author BlueZ
*
*/
public class ReverseString {
public String reverseString(String s) {
System.out.println(s);
return new StringBuffer(s).reverse().toString();
}
public char[] reverseString(char[] s) {
int length = s.length;
for (int j = 0; j < (length + 1) / 2; j++) {
char tmp = s[j];
s[j] = s[length - j - 1];
s[length - j - 1] = tmp;
}
return s;
}
public static void main(String[] args) {
// 解法一
// String result = new ReverseString().reverseString("Hello");
// System.out.println(result);
// 解法二
char[] s = { 'h', 'e', 'l', 'l', 'o', 's' };
System.out.println(new ReverseString().reverseString(s));
}
}