Rumah >pembangunan bahagian belakang >tutorial php >Subrentetan Songsang Antara Setiap Pasangan Tanda Kurung

Subrentetan Songsang Antara Setiap Pasangan Tanda Kurung

王林
王林asal
2024-07-16 11:21:41586semak imbas

Reverse Substrings Between Each Pair of Parentheses

1190. Subrentetan Songsang Antara Setiap Pasangan Tanda Kurung

Sederhana

Anda diberi rentetan s yang terdiri daripada huruf kecil dan kurungan Inggeris.

Terbalikkan rentetan dalam setiap pasangan kurungan yang sepadan, bermula dari yang paling dalam.

Hasil carian anda seharusnya tidak mengandungi sebarang kurungan.

Contoh 1:

  • Input: s = "(abcd)"
  • Output: "dcba"

Contoh 2:

  • Input: s = "(u(sayang)i)"
  • Output: "iloveu"
  • Penjelasan: Substring "cinta" diterbalikkan dahulu, kemudian seluruh rentetan diterbalikkan.

Contoh 3:

  • Input: s = "(ed(et(oc))el)"
  • Output: "leetcode"
  • Penjelasan: Mula-mula, kita terbalikkan subrentetan "oc", kemudian "etco", dan akhirnya, keseluruhan rentetan.

Kekangan:

  • 1 <= s.panjang <= 2000
  • s hanya mengandungi aksara Inggeris huruf kecil dan kurungan.
  • Dijamin semua kurungan adalah seimbang.

Penyelesaian:

Berikut ialah pelan langkah demi langkah:

  1. Gunakan tindanan untuk menjejaki aksara dan kurungan bersarang.
  2. Lintas setiap aksara dalam rentetan.
  3. Jika anda menemui tanda kurungan pembukaan '(', tolaknya ke dalam tindanan.
  4. Jika anda menemui kurungan penutup ')', pop dari tindanan sehingga anda mencapai kurungan pembukaan '('. Balikkan subrentetan yang dikumpul dan tolaknya semula ke tindanan.
  5. Akhir sekali, gabungkan kandungan tindanan untuk mendapatkan hasilnya.

Berikut ialah pelaksanaan dalam PHP: 1190. Subrentetan Songsang Antara Setiap Pasangan Tanda Kurung






Penjelasan

  • Fungsi reverseParentheses mengambil rentetan s sebagai input.
  • Timbunan digunakan untuk menjejak aksara dan kurungan bersarang.
  • Semasa kita melintasi rentetan:
    • Jika kami menemui kurungan penutup ), kami mula muncul dari timbunan sehingga kami menemui kurungan pembukaan (.
    • Kami mengumpulkan aksara yang muncul (yang berada di dalam kurungan), membalikkannya dan menolaknya semula ke dalam timbunan.
    • Jika watak itu bukan kurungan penutup, ia terus ditolak ke dalam tindanan.
  • Akhir sekali, kami menggabungkan elemen timbunan untuk membentuk rentetan hasil, memastikan kurungan tidak disertakan.

Kaedah ini mengendalikan kurungan bersarang dengan cekap dan memastikan susunan aksara yang betul selepas membalikkan subrentetan dalam setiap pasangan kurungan.

Pautan Kenalan

  • LinkedIn
  • GitHub

Atas ialah kandungan terperinci Subrentetan Songsang Antara Setiap Pasangan Tanda Kurung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn