zoukankan      html  css  js  c++  java
  • 2. Add Two Numbers

    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

    解题思路:将每位按照个位数字相加的形式,判断是否需要进位

    答案:

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {

    int val1 = l1.val;

    int val2 = l2.val;

     

    int val = val1+val2;

     

    int v = val%10;

    int bit = val/10;

     

    ListNode l = new ListNode(v);

    ListNode next = l;

     

    ListNode next1=l1.next,next2=l2.next;

     

    while(null != next1 && null != next2 ){

    val1 = next1.val;

    next1=next1.next;

     

    val2 = next2.val;

    next2=next2.next;

     

    if(1==bit){

    val = val1 + val2 + 1;

    }else{

    val = val1 + val2;

    }

     

    v = val%10;

    bit = val/10;

     

    ListNode node = new ListNode(v);

    next.next = node;

    next = node;

    }

     

    while(null != next1 ){

    val1 = next1.val;

    next1=next1.next;

     

    if(1==bit){

    val = val1 + 1;

    }else{

    val = val1;

    }

     

    v = val%10;

    bit = val/10;

     

    ListNode node = new ListNode(v);

    next.next = node;

    next = node;

    }

     

    while(null != next2 ){

    val2 = next2.val;

    next2=next2.next;

     

    if(1==bit){

    val = val2 + 1;

    }else{

    val = val2;

    }

     

    v = val%10;

    bit = val/10;

     

    ListNode node = new ListNode(v);

    next.next = node;

    next = node;

    }

     

    if(1 == bit){

    ListNode node = new ListNode(1);

    next.next = node;

    }

     

            return l;

        }

  • 相关阅读:
    今天做了个小项目
    了解类与对象
    装机时键盘选择失误?教你修改kali Linux键盘到美式。
    一些模塊的用法
    你也是全员模块?
    金额保留2位小数 xx.00
    maven项目统一管理版本
    启动项目报错——找不到或无法加载主类 io.vertx.core.Launcher
    以jar包方式启动
    支付业务接口功能(二)
  • 原文地址:https://www.cnblogs.com/shisw/p/7183936.html
Copyright © 2011-2022 走看看