951. Balikkan Pokok Binari Setara
Kesukaran: Sederhana
Topik: Pokok, Carian Pertama Kedalaman, Pokok Binari
Untuk pokok binari T, kita boleh mentakrifkan operasi flip seperti berikut: pilih mana-mana nod dan tukar subpokok anak kiri dan kanan.
Pokok perduaan X ialah setara dengan pokok perduaan Y jika dan hanya jika kita boleh membuat X sama dengan Y selepas beberapa operasi flip.
Memandangkan akar dua pokok binari root1 dan root2, kembalikanbenar jika kedua-dua pokok itu setara flip atau palsu sebaliknya.
Contoh 1:
Contoh 2:
Contoh 3:
Kekangan:
Penyelesaian:
Kami boleh menggunakan carian mendalam-pertama (DFS) rekursif. Ideanya ialah dua pokok adalah setara flip jika nilai akarnya adalah sama dan subpokok sama ada sama (tanpa sebarang lambungan) atau ia menjadi sama selepas membalikkan anak kiri dan kanan pada beberapa nod.Pelan:
Kes Asas:
Kes Rekursif:
951. Balikkan Pokok Binari Setara
<?php // Definition for a binary tree node. class TreeNode { public $val; public $left; public $right; function __construct($val = 0, $left = null, $right = null) { $this->val = $val; $this->left = $left; $this->right = $right; } } /** * @param TreeNode $root1 * @param TreeNode $root2 * @return Boolean */ function flipEquiv($root1, $root2) { ... ... ... /** * go to ./solution.php */ } // Example usage: $root1 = new TreeNode(1, new TreeNode(2, new TreeNode(4), new TreeNode(5, new TreeNode(7), new TreeNode(8))), new TreeNode(3, new TreeNode(6), null) ); $root2 = new TreeNode(1, new TreeNode(3, null, new TreeNode(6)), new TreeNode(2, new TreeNode(4), new TreeNode(5, new TreeNode(8), new TreeNode(7))) ); var_dump(flipEquiv($root1, $root2)); // Output: bool(true) ?>
Kelas TreeNode: Kelas TreeNode mewakili nod dalam pepohon binari, dengan pembina untuk memulakan nilai nod, anak kiri dan anak kanan.
FlipEquivFungsi:
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:
Atas ialah kandungan terperinci . Flip Pokok Binari Setara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!