zoukankan      html  css  js  c++  java
  • 2. Add Two Numbers(2个链表相加)

     


    You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

    You may assume the two numbers do not contain any leading zero, except the number 0 itself.

    Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 0 -> 8

    20180223

     1 class Solution {
     2     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
     3         ListNode fakehead = new ListNode(0);
     4         ListNode prev = fakehead;
     5         int carry = 0;
     6         for(ListNode p1=l1, p2 = l2;
     7            p1!=null || p2!=null;
     8            p1=(p1==null?null:p1.next),p2=(p2==null?null:p2.next)
     9            ){
    10                int p1val = p1==null?0:p1.val;
    11                int p2val = p2==null?0:p2.val;
    12                int val = p1val+p2val+carry;
    13                carry = val/10;
    14                val = val%10;
    15                ListNode temp = new ListNode(val);
    16                prev.next = temp;
    17                prev = prev.next;
    18            }
    19             if(carry>0)
    20                 prev.next = new ListNode(carry);
    21             return fakehead.next;            
    22     }  
    23 }
     1 class Solution {
     2     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
     3        // ListNode cur =new ListNode(0);
     4         ListNode prev= new ListNode(0);
     5         ListNode head = prev;
     6         int pval;
     7         int jinwei=0;
     8         while(l1!=null ||l2!=null || jinwei!= 0 ){
     9             pval  = ((l2 == null) ? 0 : l2.val) + ((l1 == null) ? 0 : l1.val) + jinwei;
    10             if(pval>9) {   jinwei =1;pval=pval-10;    }
    11             else jinwei=0;
    12             ListNode cur = new ListNode(pval);
    13             prev.next =cur;
    14             prev = cur;
    15             l1 = (l1 == null) ? l1 : l1.next;
    16             l2 = (l2 == null) ? l2 : l2.next;
    17 
    18         }
    19         return head.next;
    20 
    21     }
    22     
    23 }
     
  • 相关阅读:
    hash联接算法
    Nginx实现WEB故障转移以及重定向
    MSSQL分区表
    SSO示例
    MSMQ 跨服务器读写队列
    利用Heartbeat完成Mysql主-主同步
    采用heartbeat做Redis的主从切换
    Redis的RDB AOF DATABASE
    Redis初试
    简单线性回归
  • 原文地址:https://www.cnblogs.com/zle1992/p/7707212.html
Copyright © 2011-2022 走看看