日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java - 一段遞歸代碼的問題

瀏覽:199日期:2024-01-08 16:29:44

問題描述

在一篇博客上看到了一個遞歸函數,但我感覺劃線的那一行似乎永遠不為true呢?

java - 一段遞歸代碼的問題

因為函數里的第一個判斷條件:

if (!root || p == root || q == root) return root;

就決定了left必定是p,q,null之一吧?

我對遞歸的理解不太深刻,不知道理解的對不對?謝謝。

問題解答

回答1:

首先你要弄明白,這個遞歸函數的返回值有4種可能:

null,表示這次遞歸已經碰到葉子節點,無法再繼續下去了。

p,表示這次遞歸已經碰到p節點了。

q,表示這次遞歸已經碰到q節點了。

lowestCommonAncestor,表示已經找到的最低公共祖先節點。

為何這樣說,前3種可能,你應該很好理解,因為從<1> if (!root || p == root || q == root) return root;這行代碼可以看出來。

那么再看(我就簡寫了)<2> left = lowestCommonAncestor(left, p, q);<3> right = lowestCommonAncestor(right, p, q);這兩行。在真正的lowestCommonAncestor被找到之前,這個函數只可能會返回null,q,p。再看這兩行判斷<4> if (left && left != p && left != q) return left;<5> if (right && right != p && right != q) return right;當<2>,<3>兩處的返回值是null,p,q的時候,這兩處判斷的條件都無法滿足,所以不會返回。所以要進入再下面的判斷<6> if (left && right) return root;這句什么意思?如果從<4>,<5>的判斷處沒有返回,說明left和right只能是null,p,q中的一個,而這里了又限定了left和right必須是非null,意思就是這時候left和right必定一個是p,一個是q。那么這個時候,本層遞歸函數的root(注意是本層遞歸函數)就是那個lowestCommonAncesstor,于是就返回它。最后一句<7> return left ? left : right;既然到了這里,就說明left和right里面至少有一個是null,那么就返回非null的那個,或者如果兩個都是null就返回null。

現在倒回去再看一下lowestCommonAncesstor這個遞歸函數在<2>,<3>兩處的調用,你可以把它看成是去當前節點的left和right中分別去尋找p,和q,那么無非結果有4種:

返回null,說明p,q根本不在這個分支中。

返回p,說明這個分支中只有p,沒有q。

返回q,說明這個分支中只有q,沒有p。

返回lowestCommonAncesstor,說明這個分支中既有p又有q,于是就已經找到他們的公共祖先啦!

可能說的還是不夠透徹,希望對你有幫助:)

回答2:

第一個條件是判斷root,第二個是判斷left,有什么聯系嗎?

標簽: java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆亚洲精品| 日韩综合一区二区三区| 国产精品一区二区免费福利视频| 国产精品美女| 久久亚洲色图| 日韩成人精品一区二区三区 | 免费久久精品视频| 亚洲另类视频| 国产精品巨作av| 日韩国产一区二区| 亚洲欧洲午夜| 国产精品一区二区美女视频免费看| av资源中文在线| 另类欧美日韩国产在线| 精品少妇一区| 红桃视频国产一区| 免费观看在线综合| 国产精品视频一区二区三区 | 国产不卡av一区二区| 日韩不卡免费高清视频| 日韩一级欧洲| 国产欧美日韩| 久久香蕉国产| 日本伊人久久| 国产美女高潮在线观看| 国产精品毛片| 国产精品分类| 韩国三级一区| 亚洲精品系列| 精品国产三区在线| 老司机久久99久久精品播放免费| 欧美日韩亚洲三区| 激情综合网址| 欧美国产极品| 亚洲一区日本| 国产精品久久久久久久免费软件| 久久男女视频| 国产精品久一| 美日韩精品视频| 不卡一二三区| 日韩激情一区二区| 欧美日韩精品一区二区视频| 蜜臀av国产精品久久久久| 久久99国产精品视频| 99国产一区| 丁香婷婷久久| 日韩av在线免费观看不卡| 久久精品影视| 精品久久免费| 欧美三级第一页| 亚洲综合欧美| 亚洲不卡系列| 美女精品久久| 日韩欧美精品一区二区综合视频| 日韩久久精品网| 欧美影院视频| 日韩中文字幕区一区有砖一区 | 日韩午夜在线| 麻豆视频在线看| 国产精品免费精品自在线观看| 女主播福利一区| 久久久久久网| 日韩国产欧美一区二区三区| 亚洲精品国产嫩草在线观看| 美女网站一区| 亚洲免费毛片| 欧美精品黄色| 91tv亚洲精品香蕉国产一区| 国产精品一区二区三区美女| 蜜臀精品一区二区三区在线观看| 欧洲一区二区三区精品| 欧美色综合网| 蜜臀av一区二区三区| 免费av一区二区三区四区| 日韩综合在线| 国产精品成人一区二区网站软件| 免费日本视频一区| 久久蜜桃精品| 久久亚洲黄色| 日韩二区在线观看| 蜜臀av一区二区在线免费观看| 丝袜av一区| 福利一区二区免费视频| 国产精品magnet| 国产亚洲字幕| 日韩av资源网| 97成人在线| 青青草国产精品亚洲专区无| 日本中文字幕不卡| 涩涩涩久久久成人精品| 蜜桃视频免费观看一区| 亚洲免费影视| 国产视频久久| 久久亚洲影院| 久久精品二区三区| 秋霞影院一区二区三区| 日本精品在线中文字幕| 在线一区视频观看| 91精品一区二区三区综合| 精品亚洲美女网站| 亚洲高清二区| 免费毛片在线不卡| 黄色av日韩| 中文字幕av一区二区三区人 | 精品视频网站| 中文字幕色婷婷在线视频| 日韩精品不卡一区二区| 国产videos久久| 色天使综合视频| 久久亚洲在线| 视频精品一区二区| 欧美一区二区三区免费看| 日本少妇精品亚洲第一区| 日韩精品五月天| 国产精品美女午夜爽爽| 日产精品一区二区| 国产高清一区| 日韩福利在线观看| 不卡专区在线| 国产精品美女久久久| 日韩一区二区三区四区五区| 国产精品一区二区精品 | 久久久一二三| 午夜精品影院| 日韩精品亚洲aⅴ在线影院| 国产精品一卡| 日韩啪啪电影网| 免费不卡中文字幕在线| 综合欧美亚洲| 国产精品久久久一区二区| 国产亚洲一区二区手机在线观看 | 国产综合精品一区| 亚洲开心激情| 国产精品传媒麻豆hd| 日韩网站中文字幕| 亚洲精品大片| 福利一区视频| 免费的成人av| 精品国产乱码久久久久久樱花 | 午夜日韩福利| 日韩国产一区二| 国产成人精品一区二区免费看京| 免费不卡中文字幕在线| 日韩精品欧美成人高清一区二区| 国产成人免费av一区二区午夜| 亚洲综合不卡| 久久国产精品美女| 亚洲v在线看| 青青草伊人久久| 99久久久国产精品美女| 亚洲男人在线| 日韩不卡在线| 国产女人18毛片水真多18精品| 欧美精品资源| 国产精品1区| 一级欧美视频| 欧美日韩一区二区三区视频播放| 亚洲va久久| 五月激情久久| 国产精品亚洲欧美一级在线| japanese国产精品| 精品国产成人| 亚洲久久在线| 国产一区二区中文| 91免费精品| 欧美日本久久| 免费久久99精品国产自在现线| 国产欧洲在线| 久久成人av| 91p九色成人| 中文字幕一区二区三区四区久久 | 一区二区三区网站| 深夜福利视频一区二区| 人人爱人人干婷婷丁香亚洲| 久久中文字幕av| 黄色aa久久| 欧美91在线|欧美| 欧美亚洲国产日韩| 免费在线视频一区| 女主播福利一区| 天堂日韩电影| 久久久男人天堂| 老司机精品视频网| 国产精品一区二区三区av| 亚洲精品国产精品粉嫩| 激情久久五月| 99成人在线| 欧美韩一区二区| 日本vs亚洲vs韩国一区三区二区| 精品在线99| 今天的高清视频免费播放成人| 中文在线资源| 女生影院久久| 一区二区三区四区日本视频| 精品99在线| 国产精选在线| 日韩一区二区在线免费| 日韩精品电影| 91精品一区国产高清在线gif | 男女性色大片免费观看一区二区|