目錄
- 題目:
- 解析:
- 方法:
- 代碼:
- 鏈表常用技巧:
題目:
鏈接: link
解析:
方法:
代碼:
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {//創建虛擬頭節點返回結果:ListNode cur1 = l1, cur2 = l2;ListNode newhead = new ListNode(0);int t = 0;//用來尾插操作的指針ListNode prev = newhead;while(cur1 != null || cur2 != null || t != 0){//先加第一個鏈表if(cur1 != null){t += cur1.val;cur1 = cur1.next;}//先加第二個鏈表if(cur2 != null){t += cur2.val;cur2 = cur2.next;}//把t尾插到虛擬頭節點prev.next = new ListNode(t%10);//去t的個位創建新節點t /= 10;prev = prev.next;}return newhead.next;}
}
鏈表常用技巧:
1.可以創建虛擬頭節點來進行最后的返回,因為題目的第一個節點一般都存有數據
2.創建新的引用來進行變量,來進行頭插和尾插