Lebih
Reverse string di Jawa
Saya telah "Hello World"
disimpan dalam variabel String bernama hi
.
Saya perlu untuk mencetak, tetapi terbalik.
Bagaimana saya bisa melakukan ini? Saya mengerti ada beberapa jenis fungsi yang sudah built-in ke Jawa yang melakukan itu.
Terkait: Membalikkan masing-masing individu kata-kata "Hello World" string dengan Java
434
40
Anda dapat menggunakan ini:
Atau, untuk versi sebelumnya dari JDK 1.5, menggunakan
jawa.util.StringBuffer
bukanStringBuilder
— mereka yang sama-sama memiliki API. Terima kasih komentator untuk menunjukkan bahwaStringBuilder
lebih disukai saat ini ketika tidak ada concurrency perhatian.Untuk Online Juri masalah yang tidak memungkinkan
StringBuilder
atauStringBuffer
, anda bisa melakukannya di tempat menggunakanchar[]
sebagai berikut:http://www.java2s.com/Code/Java/Language-Basics/ReverseStringTest.htm
Saya melakukan ini dengan menggunakan dua cara berikut:
Reverse string dengan KARAKTER:
Reverse string dengan kata-KATA:
Lihatlah Jawa 6 API bawah StringBuffer
Berikut adalah contoh menggunakan rekursi:
Saya mencoba, hanya untuk bersenang-senang, dengan menggunakan Stack. Berikut kode saya:
Berikut ini adalah tingkat rendah solusi:
Sejak metode di bawah ini (menggunakan XOR) untuk reverse string tidak terdaftar, saya melampirkan metode ini untuk membalik string.
The Algoritma didasarkan pada :
Potongan kode:
Output:
keetarp
Seperti orang lain telah menunjukkan cara yang lebih disukai adalah dengan menggunakan:
new StringBuilder(hi).reverse().toString()
tapi jika anda ingin menerapkan hal ini dengan sendirinya, aku'am takut bahwa sisa responses memiliki kekurangan.
Alasannya adalah String yang mewakili daftar Unicode poin, dikodekan dalam
char[]
hotel yang sesuai untuk variable-length encoding: UTF-16.Ini berarti beberapa poin kode menggunakan satu elemen dari array (satu kode unit) tetapi yang lain menggunakan dua dari mereka, sehingga mungkin ada pasangan-pasangan dari karakter-karakter yang harus diperlakukan sebagai satu unit (berturut-turut "tinggi" dan "murah" pengganti)
Hal ini sangat sederhana di minimum kode garis
Saya menggunakan metode ini untuk mengubah nama belakang dan ke bawah.
Ini melakukan trik untuk saya
1. Menggunakan Array Karakter:
2. Menggunakan StringBuilder:
ATAU
Prosedur :
Kita dapat menggunakan split() memecah string .Kemudian menggunakan reverse loop dan menambahkan karakter.
Potongan kode:
Hanya Untuk bersenang-Senang..:)
Traverse saya dari 0 ke len/2 dan kemudian
Kompleksitas waktu O(n)
Ruang Kompleksitas :O(n)
Salah satu cara alami untuk membalikkan
String
adalah dengan menggunakanStringTokenizer
dan sebuah stack.Stack
adalah kelas yang mengimplementasikan mudah-ke-menggunakan last-in, first-out (LIFO) tumpukan benda-benda.Meletakkannya di tumpukan frontwards
Mencetak stack mundur