Saya telah "Hello World"
menyimpan variabel bernama String hi
.
Saya perlu mencetaknya, tetapi terbalik.
Bagaimana saya bisa melakukan ini? Saya mengerti ada semacam fungsi yang sudah ada di dalam Java yang melakukan itu.
Terkait: Balikkan setiap kata dari string "Hello World" dengan Java
Jawaban:
Anda bisa menggunakan ini:
Atau, untuk versi yang lebih awal dari JDK 1.5, gunakan
java.util.StringBuffer
sebagai gantiStringBuilder
- mereka memiliki API yang sama. Terima kasih komentator untuk menunjukkan yangStringBuilder
disukai saat ini ketika tidak ada masalah konkurensi.sumber
StringBuilder
konkurensi membuang-buang lokal tidak menjadi masalah (dan saya pikir itu yang dia maksud).String hi = "Hello World";
. Jadi saya pikir dalam jawaban Anda seharusnya tidak ada tanda kutip gandahi
. Maksud saya seharusnya seperti ininew StringBuilder(hi).reverse().toString()
Untuk masalah online Hakim yang tidak memungkinkan
StringBuilder
atauStringBuffer
, Anda dapat melakukannya di tempat menggunakanchar[]
sebagai berikut:sumber
http://www.java2s.com/Code/Java/Language-Basics/ReverseStringTest.htm
sumber
sumber
Saya melakukan ini dengan menggunakan dua cara berikut:
Membalikkan string oleh KARAKTER:
Membalikkan string oleh KATA:
sumber
Lihatlah Java 6 API di bawah StringBuffer
sumber
reverse()
dantoString()
), jadi perbedaannya mungkin bahkan tidak akan menjadi terukur.Berikut ini contoh penggunaan rekursi:
sumber
Berikut ini adalah solusi tingkat rendah:
sumber
Saya mencoba, hanya untuk bersenang-senang, dengan menggunakan Stack. Ini kode saya:
sumber
Karena metode di bawah ini (menggunakan XOR ) untuk membalikkan string tidak terdaftar, saya melampirkan metode ini untuk membalikkan string.
The Algoritma ini didasarkan pada:
Cuplikan kode:
Keluaran:
keetarp
sumber
Seperti yang telah ditunjukkan orang lain, cara yang disukai adalah menggunakan:
Tetapi jika Anda ingin menerapkan ini sendiri, saya takut bahwa sisa tanggapan memiliki kekurangan.
Alasannya adalah yang
String
mewakili daftar titik Unicode , dikodekan dalamchar[]
array sesuai dengan pengkodean panjang variabel: UTF-16 .Ini berarti beberapa titik kode menggunakan elemen tunggal array (satu unit kode) tetapi yang lain menggunakan dua di antaranya, sehingga mungkin ada pasangan karakter yang harus diperlakukan sebagai satu unit (pengganti "tinggi" dan "rendah" berurutan) .
sumber
Ini sangat sederhana dalam kode baris minimum
sumber
Ini berhasil bagi saya
sumber
1. Menggunakan Array Karakter:
2. Menggunakan StringBuilder:
ATAU
sumber
Saya menggunakan metode ini untuk mengubah nama mundur dan menjadi huruf kecil.
sumber
sumber
Salah satu cara alami untuk membalikkan
String
adalah dengan menggunakanStringTokenizer
dan tumpukan.Stack
adalah kelas yang mengimplementasikan tumpukan objek terakhir-masuk, pertama-keluar (LIFO) yang mudah digunakan.Masukkan ke dalam tumpukan ke depan
Cetak tumpukan ke belakang
sumber
sumber
Semua solusi di atas terlalu bagus tetapi di sini saya membuat string terbalik menggunakan pemrograman rekursif.
Ini bermanfaat bagi mereka yang mencari cara rekursif dalam melakukan string terbalik.
sumber
Prosedur:
Kita dapat menggunakan split () untuk membagi string. Kemudian gunakan loop terbalik dan tambahkan karakter.
Cuplikan kode:
sumber
reverse String publik (String s) {
sumber
Anda juga dapat mencoba ini:
sumber
sumber
pengulangan:
sumber
Hanya untuk bersenang-senang..:)
Lintasi i dari 0 hingga len / 2 lalu
Kompleksitas Waktu: O (n)
Kompleksitas Ruang: O (n)
sumber
sumber
sumber
sumber
sumber
Jika Anda ingin menggunakan loop sederhana!
sumber