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

    You are given two linked lists representing two non-negative numbers. 
    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
    || carry!=0) 注意;

    The key of this problem is to think of using Stack, 

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
            Stack<ListNode> st1 = new Stack<ListNode>();
            Stack<ListNode> st2 = new Stack<ListNode>();
            while (l1 != null) {
                st1.push(l1);
                l1 = l1.next;
            }
            while (l2 != null) {
                st2.push(l2);
                l2 = l2.next;
            }
            ListNode dummy = new ListNode(-1);
            int carry = 0;
            while (st1.size()!=0 || st2.size()!=0 || carry!=0) {
                int sum = 0;
                if (st1.size() != 0) sum += st1.pop().val;
                if (st2.size() != 0) sum += st2.pop().val;
                if (carry != 0) sum += carry;
                ListNode newNode = new ListNode(sum%10);
                newNode.next = dummy.next;
                dummy.next = newNode;
                carry = sum / 10;
            }
            return dummy.next;
        }
    }
    

      

  • 相关阅读:
    ASP.NET缓存:缓存ASP.NET页
    oracle小技巧:字符串原样输出
    ASP.NET缓存:概述
    如何设计表结构便于treeview显示?
    Delphi VCLSkin 界面美化
    txt文件导入存储过程
    TreeView挺入数据库
    TreeView使用笔记
    TreeView格式
    TreeView学习总结
  • 原文地址:https://www.cnblogs.com/apanda009/p/7376266.html
Copyright © 2011-2022 走看看