今天是紀錄LeetCode解題的第二天
第二題題目:given two non-empty linked lists representing two non-negative integers.The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list
給定兩個非空值的鏈結串列,以倒敘排列,每個節點包含一位數字,將兩個數字相加,並以鏈結串列形式傳回
這題學習到的新東西-鏈結串列(Linked List)
概念:由一個個**節點(Node)**串起來,每個節點至少包含儲存值(value)和指向下一個節點的參考,python裡是物件參考,通常命名為next
定義鏈結串列方式如下
接著可以建立節點
以上是簡單的鏈結串列定義和用法
接著我們看此題的解法
以範例第一題l1 = [2,4,3], l2 = [5,6,4]
初始狀態
第一次執行(p.val=2,q.val=5)
第二次執行(p.val=4,q.val=6)
第三次執行(p.val=3,q.val=4)
執行完三次,p、q都是None,carry=0,while條件不成立,迴圈結束
回傳dummy.next → 指向開頭的7
最後印出結果[7,0,8]