leetcode官方《初級算法》題集(三)鏈表、樹

以后暫時(shí)不更了,看fucking-algorithm復(fù)習(xí)算法

一、合并兩個有序鏈表

將兩個升序鏈表合并為一個新的 升序 鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點(diǎn)組成的。

(一)、遞歸

image.png

(二)、迭代

image.png

二、環(huán)形鏈表

給定一個鏈表,判斷鏈表中是否有環(huán)。

如果鏈表中有某個節(jié)點(diǎn),可以通過連續(xù)跟蹤 next 指針再次到達(dá),則鏈表中存在環(huán)。 為了表示給定鏈表中的環(huán),我們使用整數(shù) pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鏈表中沒有環(huán)。注意:pos 不作為參數(shù)進(jìn)行傳遞,僅僅是為了標(biāo)識鏈表的實(shí)際情況。

如果鏈表中存在環(huán),則返回 true 。 否則,返回 false 。

(一)、哈希表

image.png

(二)、快慢指針

image.png

image.png

(三)、反轉(zhuǎn)一個單鏈表

image.png

image.png

(一)、判斷二叉樹的最大深度

給定一個二叉樹,找出其最大深度。

二叉樹的深度為根節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的最長路徑上的節(jié)點(diǎn)數(shù)。

說明: 葉子節(jié)點(diǎn)是指沒有子節(jié)點(diǎn)的節(jié)點(diǎn)。


image.png

image.png

(二)、驗(yàn)證二叉搜索樹

給定一個二叉樹,判斷其是否是一個有效的二叉搜索樹。
假設(shè)一個二叉搜索樹具有如下特征:

  • 節(jié)點(diǎn)的左子樹只包含小于當(dāng)前節(jié)點(diǎn)的數(shù)。
  • 節(jié)點(diǎn)的右子樹只包含大于當(dāng)前節(jié)點(diǎn)的數(shù)。
  • 所有左子樹和右子樹自身必須也是二叉搜索樹。


    image.png

    image.png

(三)、將有序數(shù)組轉(zhuǎn)換為二叉搜索樹

給你一個整數(shù)數(shù)組 nums ,其中元素已經(jīng)按 升序 排列,請你將其轉(zhuǎn)換為一棵 高度平衡 二叉搜索樹。
高度平衡 二叉樹是一棵滿足「每個節(jié)點(diǎn)的左右兩個子樹的高度差的絕對值不超過 1 」的二叉樹。

image.png

image.png

image.png

![image.png](https://upload-images.jianshu.io/upload_images/17624987-201f35b9de2593eb.png?
imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
image.png

(四)、二叉樹的層序遍歷

給你一個二叉樹,請你返回其按 層序遍歷 得到的節(jié)點(diǎn)值。 (即逐層地,從左到右訪問所有節(jié)點(diǎn))。


image.png

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容