面试必考真题-算法篇 牛客网
双指针,字符串
题目描述
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
题目分析:
方法一
双指针,将字符串进行翻转。
下面是Java代码
import java.util.*;
public class Solution {
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
public String solve (String str) {
// write code here
String s ="";
if(str == null ||str.length() == 0){
return s;
}
return reserve(str);
}
private String reserve(String str){
char[] c = str.toCharArray();
int i = 0 , j = c.length-1;
char tmp =c[0];
while(i < j){
tmp = c[i];
c[i] = c[j];
c[j] = tmp;
++i;
--j;
}
String s = String.copyValueOf(c);
return s;
}
}
方法二
直接反向输出字符串。
import java.util.*;
public class Solution {
/**
* 反转字符串
* @param str string字符串
* @return string字符串
*/
public String solve (String str) {
// write code here
String s ="";
if(str == null ||str.length() == 0){
return s;
}
for(int i = str.length()-1;i>=0;i--){
s+=str.charAt(i);
}
return s;
}
}
参考/practice/c3a6afee325e472386a1c4eb1ef987f3?tpId=117&&tqId=35028&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking