leetcode-Add Two Numbers

来源:互联网 发布:所有网络女歌手 编辑:程序博客网 时间:2024/06/10 21:35

题目

 题意是用链表表示一个数,每个节点作为数字的一位,给定两个链表,返回两个数相加的结果。
该题没有什么特殊的技巧,两个链表对应的节点依次相加,并纪录是否进位,需要注意的是当两个数最后一位相加完毕后可能会发生进位。
class Solution {    public ListNode addTwoNumbers(ListNode l1, ListNode l2)     {        if(l1==null)            return l2;        if(l2==null)            return l1;        int flag = 0;        ListNode head =  new ListNode(-1);        ListNode p = head;       while(l1!=null||l2!=null)       {           int v1 = l1 == null? 0 : l1.val;           int v2 = l2 == null? 0 : l2.val;           int sum = v1+v2+flag;           flag = sum/10;           p.next= new ListNode(sum%10);           p = p.next;           if(l1!=null)               l1 = l1.next;           if(l2!=null)               l2 = l2.next;       }                if(flag!=0)            p.next = new ListNode(flag);        return head.next;    }}


原创粉丝点击