Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.
Note:A leaf is a node with no children.
1 返回list(list)蚁鳖,如果只有一個(gè)數(shù)字的話稿存,得寫成[[root.val]]
2 此題與之前的path sum有不同的地方,因?yàn)槭欠祷豴ath半抱,所以當(dāng)root.left==None and root.right==None, 且root.val=target胯杭,則返回[[root.val]]驯杜,如果root.val != target時(shí),則返回[]
1 思路是空root的話做个,返回空鸽心;如果是葉子節(jié)點(diǎn)且等于sum時(shí),返回[[root.val]]居暖;然后recursive查詢左子樹(shù)和右子樹(shù)顽频,分別返回的是以左右節(jié)點(diǎn)為root的path,最后將root.val和返回的path結(jié)合起來(lái)太闺。
2 時(shí)間復(fù)雜度:O(n)糯景,因?yàn)樵L問(wèn)了每個(gè)節(jié)點(diǎn),空間復(fù)雜度:O(1)跟束,因?yàn)槌藃eturn的莺奸,沒(méi)有用到額外空間