LeetCode 2题目解答:一开始题目都没看懂,题目的意思是给你两个链表,里边装有倒序的数字,例如2->4->3对应的是342,5->6->4对应的是465,输出是这两数字相加的结果倒序:7->0->9( 342+465=907)。
从该题目可以学习的一些技巧:
1.如何使用头结点,返回头结点。
2.如何用一个while循环遍历完l1和l2
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode l3 = new ListNode(0); ListNode head = l3; int sum = 0; while (l1 !=null || l2 != null) { sum = sum>9 ? 1 : 0; if (l1 != null) { sum += l1.val; l1 = l1.next; } if (l2 != null) { sum += l2.val; l2 = l2.next; } l3.next = new ListNode(sum%10); l3 = l3.next; } if (sum > 9) { l3.next = new ListNode(1); } return head.next; } }