華為OD機(jī)試-查找二叉樹節(jié)點(diǎn)
已知樹形結(jié)構(gòu)的所有節(jié)點(diǎn)信息,現(xiàn)要求根據(jù)輸入坐標(biāo)(x,y)找到該節(jié)點(diǎn)保存的內(nèi)容值,其中x表示節(jié)點(diǎn)所在的層數(shù),
根節(jié)點(diǎn)位于第0層,根節(jié)點(diǎn)的子節(jié)點(diǎn)位于第1層,依此類推,
y表示節(jié)點(diǎn)在該層內(nèi)的相對(duì)偏移,從左至右,第一個(gè)節(jié)點(diǎn)偏移0,第二個(gè)節(jié)點(diǎn)偏移1,依此類推,

舉例:上圖中,假定圓圈內(nèi)的數(shù)字表示節(jié)點(diǎn)保存的內(nèi)容值,則根據(jù)坐標(biāo)(1,1)查到的內(nèi)容值是23。
輸入描述:
每個(gè)節(jié)點(diǎn)以一維數(shù)組(int[])表示,所有節(jié)點(diǎn)信息構(gòu)成二維數(shù)組(int[][]),二維數(shù)組的0位置存放根節(jié)點(diǎn);
表示單節(jié)點(diǎn)的一維數(shù)組中,0位置保存內(nèi)容值,后續(xù)位置保存子節(jié)點(diǎn)在二維數(shù)組中的索引位置。
對(duì)于上圖中,根節(jié)點(diǎn)的可以表示為{10,1,2},樹的整體表示為
{{10,1,2},{-21,3,4},{23,5},{14},{35},{66}}
查詢條件以長(zhǎng)度為2的一維數(shù)組表示,上圖查詢坐標(biāo)為(1,1)時(shí)表示為
{1,1}
使用Java標(biāo)準(zhǔn)IO鍵盤輸入進(jìn)行錄入時(shí),先錄入節(jié)點(diǎn)數(shù)量,然后逐行錄入節(jié)點(diǎn)。最后錄入查詢的位置,對(duì)于上述示例為:
6
10 1 2
-21 3 4
23 5
14
35
66
1 1
輸出
{23}
舉例:上圖中,假定圓圈內(nèi)的數(shù)字表示節(jié)點(diǎn)保存的內(nèi)容值,則根據(jù)坐標(biāo)(1,1)查到的內(nèi)容值是23。
輸出描述:
查詢到內(nèi)容時(shí),輸出{內(nèi)容值},查詢不到時(shí)輸出{}
上圖中根據(jù)坐標(biāo)(1,1)查詢輸出{23},根據(jù)坐標(biāo)(1,2)查詢輸出{}
示例1 輸入輸出示例僅供調(diào)試,后臺(tái)判題數(shù)據(jù)一般不包含示例
輸入
6
10 1 2
-21 3 4
23 5
14
35
66
1 1
輸出
{23}
————————————————
版權(quán)聲明:本文為CSDN博主「MISAYAONE」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://renjie.blog.csdn.net/article/details/128478308
Java 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128478308
Python實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128479418
C++ 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/128479433
JavaScript、C語言版本持續(xù)更新中