LeetCode 558 四叉樹交集(遞迴)

2021-09-29 16:33:47 字數 2260 閱讀 1951

四叉樹是一種樹資料,其中每個結點恰好有四個子結點:topleft、topright、bottomleft 和 bottomright。四叉樹通常被用來劃分乙個二維空間,遞迴地將其細分為四個象限或區域。

我們希望在四叉樹中儲存 true/false 資訊。四叉樹用來表示 n * n 的布林網格。對於每個結點, 它將被等分成四個孩子結點直到這個區域內的值都是相同的。每個節點都有另外兩個布林屬性:isleaf 和 val。當這個節點是乙個葉子結點時 isleaf 為真。val 變數儲存葉子結點所代表的區域的值。

例如,下面是兩個四叉樹 a 和 b:

a:+--

-----+

-------

+ t:

true||

| f:

false

| t | t |||

|+-------

+-------+

|||| f | f |||

|+-------

+-------+

topleft: t

topright: t

bottomleft: f

bottomright: fb:+

-------

+---+

---+|

| f | f |

| t +---

+---+

|| t | t |+--

-----+

---+--

-+||

|| t | f |||

|+-------

+-------+

topleft: t

topright:

topleft: f

topright: f

bottomleft: t

bottomright: t

bottomleft: t

bottomright: f

你的任務是實現乙個函式,該函式根據兩個四叉樹返回表示這兩個四叉樹的邏輯或(或並)的四叉樹。

a:                 b:                 c (a or b):+

-------

+-------+

+-------+

---+--

-++--

-----+

-------

+|||

|| f | f |||

|| t | t |

| t +---

+---+

| t | t |||

||| t | t |||

|+-------

+-------+

+-------+

---+--

-++--

-----+

-------

+|||

||||

||| f | f |

| t | f |

| t | f |||

||||

|||+

-------

+-------+

+-------+

-------

++-------

+------

-+

相關題目:leetcode 427. 建立四叉樹(遞迴)

/*

// definition for a quadtree node.

class node

node(bool _val, bool _isleaf, node* _topleft, node* _topright, node* _bottomleft, node* _bottomright)

};*/

class

solution

else

if(q1-

>isleaf)

else

//q2->isleaf

}else

//q1,q2都不是葉子,其下面有true,有false

Leetcode 427 建立四叉樹

我們想要使用一棵四叉樹來儲存乙個 n x n 的布林值網路。網路中每一格的值只會是真或假。樹的根結點代表整個網路。對於每個結點,它將被分等成四個孩子結點直到這個區域內的值都是相同的.每個結點還有另外兩個布林變數 isleaf 和 val。isleaf 當這個節點是乙個葉子結點時為真。val 變數儲存...

四叉樹與八叉樹

前序 四叉樹或四元樹也被稱為q樹 q tree 四叉樹廣泛應用於影象處理 空間資料索引 2d中的快速碰撞檢測 儲存稀疏資料等,而八叉樹 octree 主要應用於3d圖形處理。對遊戲程式設計,這會很有用。本文著重於對四叉樹與八叉樹的原理與結構的介紹,幫助您在腦海中建立四叉樹與八叉樹的基本思想。本文並不...

四叉樹與八叉樹

前序 四叉樹或四元樹也被稱為q樹 q tree 四叉樹廣泛應用於影象處理 空間資料索引 2d中的快速碰撞檢測 儲存稀疏資料等,而八叉樹 octree 主要應用於3d圖形處理。對遊戲程式設計,這會很有用。本文著重於對四叉樹與八叉樹的原理與結構的介紹,幫助您在腦海中建立四叉樹與八叉樹的基本思想。本文並不...