zoukankan      html  css  js  c++  java
  • [LeetCode]-algorithms-Add Two Numbers

    You are given two linked lists representing two non-negative numbers. 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.

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

    分析:计算两个链表的和

    解法:这道题的关键点在于节点的计算方式:sum = node1 + node2; new_node = sum%10; sum = sum/10;

    public class ListNode {
      int val;
      ListNode next;
      ListNode(int x) { val = x; }
    }

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
      int carry =0;

      ListNode newHead = new ListNode(0);
      ListNode p1 = l1, p2 = l2, p3=newHead;

      while(p1 != null || p2 != null){
        if(p1 != null){
          carry += p1.val;
          p1 = p1.next;
        }

        if(p2 != null){
          carry += p2.val;
          p2 = p2.next;
        }

        p3.next = new ListNode(carry%10);
        p3 = p3.next;
        carry /= 10;
      }

      if(carry==1)
      p3.next=new ListNode(1);

      return newHead.next;
    }

  • 相关阅读:
    Spring简介和基础
    el表达式
    Spring MVC 文件上传下载
    el表达式的function标签
    JSTL核心标签库使用
    基于注解的SpringMVC
    new一个Object对象占用多少内存?
    leetcode-第k个排列(Java和c++版)
    使用maven构建web项目(简易版)
    leetcode-电话号码的字母组合
  • 原文地址:https://www.cnblogs.com/lianliang/p/5327964.html
Copyright © 2011-2022 走看看