. Binary Tree Postorder Traversal

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

145. Binary Tree Postorder Traversal

Kesukaran: Mudah

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

Memandangkan akar pokok binari, kembalikan laluan 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 pepohon adalah dalam julat [0, 100].
  • -100 <= Node.val <= 100

Penyelesaian:

Kita boleh menggunakan pendekatan berulang dengan timbunan. Laluan selepas pesanan mengikut urutan: 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.

  • postorderTraversal Fungsi:

    • Kami memulakan tatasusunan hasil kosong dan tindanan.
    • 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 tindanan dan bergerak ke anak kirinya.
    • Jika nod semasa adalah nol, 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 pop ia daripada tindanan.

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

Pautan Kenalan

Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
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!