写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
数据范围:
要求:空间复杂度 ,时间复杂度
public class Solution { /** * 反转字符串 * @param str string字符串 * @return string字符串 */ public String solve (String str) { //把String变成char[] char[] charr=str.toCharArray(); int l=0; int r=charr.length-1; char tmp; while(l<r){ tmp=charr[l]; charr[l]=charr[r]; charr[r]=tmp; l++; r--; } String ans=String.valueOf(charr); return ans; } }
return new StringBuffer(str).reverse().toString();java一句话解决
import java.util.*; public class Solution { public String solve (String str) { StringBuilder sb = new StringBuilder(str); return sb.reverse().toString(); } }
public String solve (String str) { // write code here char[] cs = new char[str.length()]; for(int i=0;i<cs.length;i++){ cs[i]=str.charAt(cs.length-1-i); } return String.valueOf(cs); }
入门级的题居然没有一次通过,我实在太low了 import java.util.*; public class Solution { /** * 反转字符串 * @param str string字符串 * @return string字符串 */ public String solve (String str) { // write code here if(str.length() == 0 || str.length() == 1){ return str; } char[] chr = str.toCharArray(); reverse(chr); return String.valueOf(chr); } public void reverse(char[] chr){ int l = 0; int r = chr.length -1; while(l < r){ char temp = chr[l]; chr[l] = chr[r]; chr[r] = temp; l++; r--; } } }
import java.util.*; public class Solution { /** * 反转字符串 * @param str string字符串 * @return string字符串 */ public String solve (String str) { // write code here StringBuilder strResult = new StringBuilder(); char[] chars = str.toCharArray(); for(int i = chars.length-1;i>=0;i--){ strResult.append(chars[i]); } return strResult.toString(); } }
import java.util.*; public class Solution { public String solve (String str) { StringBuffer sb = new StringBuffer(); int len = str.length() - 1; while(len >= 0 ) sb.append(str.charAt(len--)); return sb.toString(); } }不知道这样算不算优化了空间
import java.util.*; public class Solution { /** * 反转字符串 * @param str string字符串 * @return string字符串 */ public String solve (String str) { char[] chars = str.toCharArray(); StringBuffer sb = new StringBuffer(); for (int i = 0; i <chars.length ; i++) { sb.append(chars[chars.length-1-i]); } return sb.toString(); } }