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

    You are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first 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.

    Follow up:
    What if you cannot modify the input lists? In other words, reversing the lists is not allowed.

    Example:

    Input: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 8 -> 0 -> 7
    题目含义:做列表的加法(由低位开始)

     1     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
     2         if (l1 == null) return l2;
     3         if (l2 == null) return l1;
     4         Stack<Integer> stack1 = new Stack<>();
     5         Stack<Integer> stack2 = new Stack<>();
     6         while (l1 != null) {
     7             stack1.push(l1.val);
     8             l1 = l1.next;
     9         }
    10         while (l2 != null) {
    11             stack2.push(l2.val);
    12             l2 = l2.next;
    13         }
    14 
    15         int sum = 0;
    16         ListNode list = new ListNode(0);
    17         while (!stack1.isEmpty() || !stack2.isEmpty()) {
    18             if (!stack1.isEmpty()) sum += stack1.pop();
    19             if (!stack2.isEmpty()) sum += stack2.pop();
    20             list.val = sum % 10;
    21             ListNode head = new ListNode(sum / 10);
    22             sum /= 10;
    23             head.next = list;
    24             list = head;
    25         }
    26         return list.val == 0 ? list.next : list;        
    27     }
  • 相关阅读:
    浏览器内核
    link和@import的区别
    跨域iframe如何通信
    数组、对象基本操作
    浏览器兼容性问题
    微信H5开发
    前端面试整理
    js多维数组转一维数组
    js实现继承
    javascript函数闭包(closure)
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7729441.html
Copyright © 2011-2022 走看看