java字符串反转的方法有哪些
这篇文章主要介绍了java字符串反转的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1、用stringBuffer或者stringBuilder自带的reverse方法publicstaticStringreverseTestOne(Strings){returnnewStringBuffer(s).reverse().toString();}2、将字符串拆分为char数组
publicstaticStringreverseTestTwo(Strings){char[]charArray=s.toCharArray();intstart=0,end=charArray.length-1;for(;start<end;start++,end--){charArray[start]^=charArray[end];//采用异或charArray[end]^=charArray[start];charArray[start]^=charArray[end];}returnnewString(charArray);}
两数交换除了用异或还能用其他方法,请移步不借助第三变量实现两数交换
3、stringBuffer倒序拼接publicstaticStringreverseTestThree(Strings){StringBuffersb=newStringBuffer();for(inti=s.length()-1;i>=0;i--){sb.append(s.charAt(i));}returnsb.toString();}4、利用栈的先进后出
publicstaticStringreverseTestFour(Strings){StringBuffersb=newStringBuffer();Stackstack=newStack();for(inti=0;i<s.length();i++){stack.push(s.charAt(i));}while(!stack.isEmpty()){//stack会返回栈顶值,并且会把该值删除sb.append(stack.pop());}returnsb.toString();}5、二分换位反转
publicstaticStringreverseTestFive(Strings){intstart=0;intend=s.length()-1;char[]charArray=s.toCharArray();while(start<end){//交换首尾char值charc=charArray[end];charArray[end]=charArray[start];charArray[start]=c;start++;end--;}returnnewString(charArray);}6、切割递归反转
publicstaticStringreverseTestSix(Strings){if(s.length()<=1){returns;}returnreverseTestSix(s.substring(1))+s.substring(0,1);}7、二分递归反转
publicstaticStringreverseTestSeven(Strings){intlength=s.length();if(length<=1)returns;Stringleft=s.substring(0,length/2);Stringright=s.substring(length/2,length);returnreverseTestSeven(right)+reverseTestSeven(left);}
感谢你能够认真阅读完这篇文章,希望小编分享的“java字符串反转的方法有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。