教你使用1行程式碼在Java中實現字串的逆序
字串逆序,這是非常普遍的一道演算法面試題,相信很多刷過演算法題的朋友都一定對這個問題並不陌生。
這個問題有很多衍生問題,他的實現方式也有很多。今天,就來教大家一個程式碼行數最好的實現方式。
那就是使用遞迴的方式,用1行程式碼實現字串逆序。
程式碼如下:
public
class
MyClass
{
public
static
void
main
(
String args
[
]
)
{
System
.out
.
println
(
reverseString
(
"Hollis is a Coder"
)
)
;
}
private
static String
reverseString
(
String sentense
)
{
return sentense
.
isEmpty
(
)
? sentense
:
reverseString
(sentense
.
substring
(
1
)
)
+ sentense
.
charAt
(
0
)
;
}
}
輸出結果:
redoC a si silloH
如上,核心程式碼只有一行,那就是:
return sentense.isEmpty() ? sentense : reverseString(sentense.substring(1)) + sentense.charAt(0);
這行程式碼中主要有兩個知識點,分別使用了三目運算子和遞迴。
-
三目運算子
-
對於條件表示式
b ? x : y
,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。 -
遞迴
-
程式呼叫自身的程式設計技巧稱為遞迴( recursion)。遞迴做為一種演算法在程式設計語言中廣泛應用。 //java學習交流:737251827 進入可領取學習資源及對十年開發經驗大佬提問,免費解答!一個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法,它通常把一個大型複雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的程式碼量。
(全文完)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010294/viewspace-2847699/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java中氣泡排序的原生實現方式(正序和逆序)Java排序
- Java程式碼中字串拼接方式分析Java字串
- 手把手教你在Python中實現文字分類(附程式碼、資料集)Python文字分類
- MVC模式在Java Web應用程式中的實現MVC模式JavaWeb
- JavaScript字串逆序排列JavaScript字串
- 在一串字串中Java使用正則匹配電話號碼的方法字串Java
- 教你在Python中實現潛在語義分析Python
- 在python程式中呼叫java程式碼PythonJava
- Java程式碼實現帶時區時間字串轉為LocalDateTime物件Java字串LDA物件
- 使用簡單的Java程式碼實現酒店管理系統Java
- 教你在“狼人殺”中實現變聲效果
- 使用shell指令碼在Linux中管理Java應用程式指令碼LinuxJava
- 求出現在字串1而沒有出現在字串2中的字元字串字元
- java程式碼執行字串中的邏輯運算方法Java字串
- 在Java中,使用HttpUtils實現傳送HTTP請求JavaHTTP
- 實戰分享,教你藍芽在小程式中的應用藍芽
- 雜湊表的程式碼實現(Java)Java
- Java 併發程式設計:ThreadLocal 的使用及其原始碼實現Java程式設計thread原始碼
- Java 實現的SnowFlake生成UUID (Java程式碼實戰-007)JavaUI
- 如何使用充血模型實現防彈程式碼 - DZone Java模型Java
- Java小程式--統計指定字串中字元 ‘a’ 出現的次數Java字串字元
- python對指定字串逆序的6種方法Python字串
- 教你C語言實現通訊錄的詳細程式碼C語言
- java 橋接模式實現程式碼Java橋接模式
- Lru在Rust中的實現, 原始碼解析Rust原始碼
- Java中的字串Java字串
- 在小程式中實現 Mixins 方案
- 在WPF程式中實現PropertyGrid功能
- 在Java中反轉字串的10種方法[Snippets]Java字串
- 如何簡單高效的在程式碼中實現兩級快取的管理快取
- verilog 中實現 sram 程式碼
- 在linux系統中,手動編寫java程式碼,將介面打成jar供其他程式呼叫,實現方式LinuxJavaJAR
- java實現人機猜拳遊戲的程式碼Java遊戲
- java程式碼實現檢視Tomcat記憶體使用情況JavaTomcat記憶體
- 1500行TypeScript程式碼在React中實現元件keep-aliveTypeScriptReact元件Keep-Alive
- 在Golang中實現Actor模型的原始碼 - GauravGolang模型原始碼
- 使用Flask-Dropzone在Flask程式中實現檔案上傳Flask
- 隨機快速排序Java程式碼實現隨機排序Java