题目
请用java代码(或伪代码)实现字符串的反转,如:输入abcde,输出edcba。
示例代码
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@DisplayName("String Reverse Test")
public class StringReverseTest {
@Test
void testReverse(){
String str = "123456";
String expectStr = "654321";
assertEquals(expectStr,new StringBuilder(str).reverse().toString());
assertEquals(expectStr,reverseByArray(str));
assertEquals(expectStr,reverseByArray(str));
assertEquals(expectStr,reverseByStringBuilder(str));
}
public String reverseByArray(String str){
char[] charDatas = str.toCharArray();
int maxIndex = charDatas.length-1;
char temp;
for(int i=0,n=maxIndex/2+1;i<n;i++){
temp = charDatas[i];
charDatas[i] = charDatas[maxIndex-i];
charDatas[maxIndex-i] = temp;
}
return new String(charDatas);
}
public String reverseByStringBuilder(String str){
StringBuilder stringBuilder = new StringBuilder();
for(int i=str.length()-1;i>=0;i--){
stringBuilder.append(str.charAt(i));
}
return stringBuilder.toString();
}
}