题目地址:https://oj.leetcode.com/problems/add-two-numbers/
链表遍历,注意最高位不为0的情况,同时L1和L2都为null的出现
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int tmp=0;
int count=0;
ListNode head=null;
ListNode pre =null;
while(true){
if(l1!=null||l2!=null||tmp>0){
count++;
if(l1!=null)tmp+=l1.val;
if(l2!=null)tmp+=l2.val;
if(count==1){
head=new ListNode(tmp%10);
pre=head;
}
else{
ListNode node=new ListNode(tmp%10);
pre.next=node;
pre=pre.next;
}
tmp=tmp/10;
if(l1!=null)l1=l1.next;
if(l2!=null)l2=l2.next;
}
if(l1==null&&l2==null&&tmp==0){
break;
}
}
return head;
}
}

本文详细介绍了如何通过遍历两个链表来实现链表加法运算,特别关注了最高位不为0的情况以及当两个输入链表都为空时的处理方式。通过实例代码演示,确保理解并掌握链表加法的关键步骤。
177

被折叠的 条评论
为什么被折叠?



