static class ListNode {
int val;
ListNode next;
}
public static ListNode addTwoNumbers(ListNode oneNode, ListNode twoNode) {
ListNode node = new ListNode();
//利用多个引用指向一个对象
ListNode reNode = node;
int carry = 0;
while (oneNode != null || twoNode != null || carry != 0) {
int one = oneNode == null ? 0 : oneNode.val;
int two = twoNode == null ? 0 : twoNode.val;
int sum = one + two + carry;
reNode.val = sum % 10;
carry = sum / 10;
reNode.next = new ListNode() ;
reNode = reNode.next;
oneNode = oneNode == null ? null : oneNode.next;
twoNode = twoNode == null ? null : twoNode.next;
}
return node;
}
public static void main(String[] args) {
ListNode oneNode = new ListNode();
oneNode.val = 2;
ListNode oneNode1 = new ListNode();
oneNode1.val = 3;
oneNode.next = oneNode1;
ListNode oneNode2 = new ListNode();
oneNode2.val = 4;
oneNode1.next = oneNode2;
ListNode oneNode3 = new ListNode();
oneNode3.val = 9;
ListNode oneNode4 = new ListNode();
oneNode4.val = 6;
oneNode3.next = oneNode4;
ListNode oneNode6 = new ListNode();
oneNode6.val = 2;
oneNode4.next = oneNode6;
ListNode oneNode7 = new ListNode();
oneNode7.val = 2;
oneNode6.next = oneNode7;
ListNode listNode = addTwoNumbers(oneNode, oneNode3);
System.out.println(listNode);
}
三天一题-02-Add Two Numbers
最新推荐文章于 2023-04-01 23:51:32 发布