四叉樹考察了遞迴,我一直對遞迴的思想不是特別理解,最後還是看了其他人的題解才寫出來。
具體是每次都比較兩個四叉樹的相同節點,
①如果兩個都是葉子節點,且其中有乙個的val為true;則返回該節點。若都是葉節點,但是其中乙個是false,則返回另乙個節點。
②如果兩個節點都不是葉節點,則依次比較它們的相同位置節點;此處就是遞迴的地方,
③遞迴的終點是四個節點的返回都是葉節點並且它們的val相等,則返回其中乙個val,合併為乙個節點。 否則,必然不是只有乙個節點,isleaf=false,val自然也是false,四個對應的葉節點就是對應返回的葉節點。
class solution
}
二,兩數相加
這道題是中等難度,乍一看還比較簡單,我感覺比上一道簡單一點,寫倒是寫出來了,就是有些小bug,而且不夠優化,改了改就改的不成樣子了,,,
最後參考了題解,是真的簡潔。
listnode ree = new listnode(0);
listnode re = ree;
int index = 0;//進製
while(l1!=null || l2!=null)
if(index>0)
re.next = new listnode(index);
return ree.next;
這裡先設定返回了兩個listnode,其中乙個用來返回,這裡我沒想到。 還有乙個是在相加的時候,re的next節點的設定,要先初始化節點在re=re.next. 是我的語言問題。 Leetcode 1 求兩數之和
描述 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2...
從 兩數之和 四數之和(LeetCode)
兩數則固定乙個元素 指標 三數則固定兩個元素 雙指標 四數則固定乙個元素 三數和。因為提前將陣列排序過,所以若當前和 target,則l 若當前和若當前和 target,則return或儲存。陣列中元素可以重複,但是不能反回相同的答案,如 1,1,1,2 target 3 可以反回,但不能多次返回 ...
leetcode 兩數加和
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...