
用JAVA求一个字符串的反转串
publicstaticStringreverseString(Stringx){if(x==null||x.length()<2)returnx;elsereturn_...
public static String reverseString(String x){
if(x==null || x.length()<2)
return x;
else return _______________+x.charAt(0);
}
这里横线处应该填什么?后面那个charAt(0)这个方法是什么意思啊? 展开
if(x==null || x.length()<2)
return x;
else return _______________+x.charAt(0);
}
这里横线处应该填什么?后面那个charAt(0)这个方法是什么意思啊? 展开
4个回答
展开全部
填写 reverseString(x.substring(1))
递归的思想
意思就是, 如果串是1个字符, 那么反转就是自己
如果多于一个字符, 那么先把从第二个字符到结束的串反转, 然后再在后面加上第一个字符就是整个串的反转
比如"abcde"
就是先把"bcde"反转下得到"edcb", 然后再加上a, 就是"edcba"
递归的思想
意思就是, 如果串是1个字符, 那么反转就是自己
如果多于一个字符, 那么先把从第二个字符到结束的串反转, 然后再在后面加上第一个字符就是整个串的反转
比如"abcde"
就是先把"bcde"反转下得到"edcb", 然后再加上a, 就是"edcba"
追问
能不能详细解释一下,有点看不懂,我还是个新手
展开全部
charAt(0)是取字符串的第一个字符。字符串字符的索引是从0开始的。你这方法没看懂。
我写了一个字符串反转的:
public static String reverseString(String str){
char [] strs=new char [str.length()];
str.getChars(0, str.length(), strs, 0);
for(int i=0;i<strs.length/2;i++){
char temp=strs[i];
strs[i]=strs[strs.length-1-i];
strs[strs.length-1-i]=temp;
}
StringBuffer s=new StringBuffer();
for(char c : strs){
s.append(c);
}
return s.toString();
}
我写了一个字符串反转的:
public static String reverseString(String str){
char [] strs=new char [str.length()];
str.getChars(0, str.length(), strs, 0);
for(int i=0;i<strs.length/2;i++){
char temp=strs[i];
strs[i]=strs[strs.length-1-i];
strs[strs.length-1-i]=temp;
}
StringBuffer s=new StringBuffer();
for(char c : strs){
s.append(c);
}
return s.toString();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
reverse(x.substring(1, x.length()))
charAt(0) 是指取index为0的(第一个)字符
charAt(0) 是指取index为0的(第一个)字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
charAt(0)是首字母,横线上的是那位大哥说的 reverseString(x.substring(1))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询