344. Reverse String
Write a function that takes a string as input and returns the string reversed.
Example:
Given s = "hello", return "olleh".
Subscribe to see which companies asked this question
思路:两个指针
代码:
public class Solution {
public String reverseString(String s) {
if(s == null) return null;
char[] res = new char[s.length()];
int j = 0;
for(int i = s.length()-1 ; i >= 0 ; i--){
res[j] = s.charAt(i);
j ++;
}
String result = String.valueOf(res); //记住这个用法
return result;
}
}
Runtime: 3 ms
时间复杂度O(n) 没有原地翻转,空间复杂度O(n)
网上找来的代码:
public class Solution {
public String reverseString(String s) {
StringBuilder sb = new StringBuilder();
for (int i = s.length() - 1; i >= 0; i--) {
sb.append(s.charAt(i));
}
return sb.toString();
}
}
Runtime:
5 ms
什么原因?为什么这个慢?