. Binary Tree Postorder Traversal

王林
Lepaskan: 2024-08-26 08:30:31
asal
391 orang telah melayarinya

145. Binary Tree Postorder Traversal

Kesukaran:Mudah

Topik:Timbunan, Pokok, Carian Pertama Kedalaman, Pokok Binari

Memandangkan akar pokok binari, kembalikantraversal pasca pesanan nilai nodnya.

Contoh 1:

. Binary Tree Postorder Traversal

  • Input:akar = [1,null,2,3]
  • Output:[3,2,1]

Contoh 2:

  • Input:akar = []
  • Output:[]

Contoh 3:

  • Input:akar = [1]
  • Output:[1]

Kekangan:

  • Bilangan nod dalam pokok adalah dalam julat [0, 100].
  • -100 <= Node.val <= 100

Penyelesaian:

Kita boleh menggunakan pendekatan berulang dengan timbunan. Laluan selepas pesanan mengikut susunan: Kiri, Kanan, Akar.

Mari laksanakan penyelesaian ini dalam PHP:145. Binary Tree Postorder Traversal

        val = $val; $this->left = $left; $this->right = $right; } } /** * @param TreeNode $root * @return Integer[] */ function postorderTraversal($root) { ... ... ... /** * go to ./solution.php */ } // Example usage: // Example 1 $root1 = new TreeNode(1); $root1->right = new TreeNode(2); $root1->right->left = new TreeNode(3); print_r(postorderTraversal($root1)); // Output: [3, 2, 1] // Example 2 $root2 = null; print_r(postorderTraversal($root2)); // Output: [] // Example 3 $root3 = new TreeNode(1); print_r(postorderTraversal($root3)); // Output: [1] ?>

Penjelasan:

  • Kelas TreeNode:Kelas TreeNode mentakrifkan nod dalam pepohon binari, termasuk nilainya, anak kiri dan anak kanan.

  • postorder Fungsi Traversal:

    • Kami memulakan tatasusunan hasil kosong dan timbunan.
    • Kami menggunakan gelung sementara yang berterusan selagi sama ada tindanan tidak kosong atau nod semasa tidak batal.
    • Jika nod semasa bukan nol, kami menolaknya ke dalam tindanan dan bergerak ke anak kirinya.
    • Jika nod semasa adalah batal, kami menyemak nod atas tindanan. Jika ia mempunyai anak yang betul yang belum kita lawati, kita beralih kepada anak yang betul. Jika tidak, kami menambah nilai nod pada tatasusunan hasil dan mengeluarkannya daripada tindanan.

Pendekatan berulang ini mensimulasikan traversal pasca pesanan rekursif tanpa menggunakan rekursi sistem, menjadikannya lebih cekap ingatan.

Hubungi Pautan

Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberirepositoribintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna buat saya!

Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:

  • LinkedIn
  • GitHub

Atas ialah kandungan terperinci . Binary Tree Postorder Traversal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!