java將字串逆序遞迴方式輸出
最近找到這樣的一個題目,如何將字串採用遞迴方式輸出:
如將字串"hello world my friend and now"--〉now and friend my world hello
實現這個方法很多,我的方法可能效率比較低下,如果有更好的方法請指教。
public static void main(String[] args) {
System.out.println(reserve(""));
}
public static String reserve(String str){
String objstr="hello world my friend and now";
Object[] array=objstr.split(" ");
Object[] nowarry=str.split(" ");
array=compare(array, nowarry);
if(array.length<1){
return str;
}
for(int i=array.length-1;i>=0;i--){
str=str+" "+array[i];
reserve(str);
}
return str;
}
private static Object[] compare(Object[] array,Object[] nowarry){
List<Object> endList=new ArrayList<Object>();
List<Object> ownList=new ArrayList<Object>();
for(int i=0;i<array.length;i++){
for(int j=0;j<nowarry.length;j++){
if(array[i].equals(nowarry[j])){
ownList.add(array[i]);
}
}
endList.add(array[i]);
}
endList.removeAll(ownList);
return endList.toArray();
}
[結果展示]: now and friend my world hello
需要注意的是:在系統中當採用String[] 標識陣列時,進行endList.toArray()轉換,會出現classCastException異常。所以將上面的String全部換成Object物件。
如果有更簡單的實現方式請不吝賜教。謝謝
相關文章
- 將輸入陣列逆序輸出陣列
- 遞迴逆向輸出字串遞迴字串
- 輸出1-100,不使用迴圈 goto 遞迴Go遞迴
- 快速排序-遞迴方式排序遞迴
- Python 字串格式化輸出方式Python字串格式化
- js字串以鍵盤打字方式輸出:JS字串
- javascript將字串逆序排列程式碼例項JavaScript字串
- 遞迴 Java遞迴Java
- 【資料結構】遞迴實現連結串列逆序資料結構遞迴
- 兩種遞迴方式實現迴文字遞迴
- 僅用遞迴函式和棧操作逆序一個棧遞迴函式
- js如何將字串中的字元逐字輸出JS字串字元
- JavaScript字串逆序排列JavaScript字串
- 用 JavaScript 的方式理解遞迴JavaScript遞迴
- 如何僅用遞迴函式和棧操作逆序一個棧遞迴函式
- Java必做演算法題-使用遞迴方法輸出如下圖案0和*號Java演算法遞迴
- 逆序輸出字元字元
- 編寫將給定字串倒序輸出的函式[Java筆試題]字串函式Java筆試
- [C練習]字串逆序字串
- 用指標編寫程式將輸入的字串倒序輸出指標字串
- Java遞迴演算法Java遞迴演算法
- 【Java資料結構與演算法筆記(二)】樹的四種遍歷方式(遞迴&非遞迴)Java資料結構演算法筆記遞迴
- 統計字串中數字個數,並將數字字串形式輸出字串
- SQL Server中CTE的另一種遞迴方式-從底層向上遞迴SQLServer遞迴
- 字串指標的輸出字串指標
- 字串倒序輸出字串
- ncurses輸出函式:字元+字串的輸出函式字元字串
- PAT-B 1002 寫出這個數 【字串+遞迴列印】字串遞迴
- 輸出儲存在記憶體中的字串(迴圈輸出每一個的字元和一次性全部輸出)記憶體字串字元
- 遞迴和尾遞迴遞迴
- 原:八皇后問題的遞迴和非遞迴Java實現遞迴Java
- Java學習之理解遞迴Java遞迴
- Java中的遞迴原理分析Java遞迴
- golang 遞迴自己,輸出自己的原始碼Golang遞迴原始碼
- 直播原始碼網站,直播間小遊戲java遞迴的實現方式原始碼網站遊戲Java遞迴
- 陣列迴圈輸出陣列
- python實現二叉樹及其七種遍歷方式(遞迴+非遞迴)Python二叉樹遞迴
- PHP遞迴方式刪除快取檔案PHP遞迴快取