513.找樹左下角的值
思路:用迭代模板法,找到最后一層取第一個(gè)元素
遞歸的話首先要找到最后一行座硕,深度最大的葉子節(jié)點(diǎn)一定是最后一行弛作,使用前序遍歷找到最左邊
112.?路徑總和??
思路:
遞歸:入?yún)⒂酶?jié)點(diǎn)和目標(biāo)和,終止條件是葉子節(jié)點(diǎn)和count==0返回true 否則返回false坎吻,遞歸函數(shù)返回true直接返回缆蝉,其他返回false
113.路徑總和ii
思路:
遞歸:這里遞歸函數(shù)就不需要返回值,記錄等于目標(biāo)數(shù)的集合瘦真;
回溯還是比較重要刊头,用List<Integer>path=newLinkedList<>();記錄path集合,遞歸返回后需要移除當(dāng)前節(jié)點(diǎn)
106.從中序與后序遍歷序列構(gòu)造二叉樹?105.從前序與中序遍歷序列構(gòu)造二叉樹
思路:
遞歸六步學(xué)習(xí)了:
第一步:如果數(shù)組大小為零的話诸尽,說(shuō)明是空節(jié)點(diǎn)了原杂。
第二步:如果不為空,那么取后序數(shù)組最后一個(gè)元素作為節(jié)點(diǎn)元素您机。
第三步:找到后序數(shù)組最后一個(gè)元素在中序數(shù)組的位置穿肄,作為切割點(diǎn)
第四步:切割中序數(shù)組,切成中序左數(shù)組和中序右數(shù)組 (順序別搞反了际看,一定是先切中序數(shù)組)
第五步:切割后序數(shù)組咸产,切成后序左數(shù)組和后序右數(shù)組
第六步:遞歸處理左區(qū)間和右區(qū)間
代碼實(shí)現(xiàn)起來(lái)不是很容易。