zoukankan      html  css  js  c++  java
  • 2 两数相加

    第一次写的思路:

    class Solution {
        public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
            int carry = 0;
            ListNode head;
            ListNode dummy = head;
            while(l1 != null && l2 != null){
                int cur = l1.val + l2.val + carry;
                carry = cur / 10;
                cur %= 10;
                head = new ListNode(cur);
                head = head.next;
                l1 = l1.next;
                l2 = l2.next;
            }
            while(l1 != null){
                int cur = l1.val + carry;
                carry = cur / 10;
                cur %= 10;
                head = new ListNode(cur);
                head = head.next;
                l1 = l1.next;
            }
    
            while(l2 != null){
                int cur = l2.val + carry;
                carry = cur / 10;
                cur %= 10;
                head = new ListNode(cur);
                head = head.next;
                l2 = l2.next;
            }
    
            if(carry == 1){
                head = new ListNode(carry);
            }
            
            return dummy;
        }
    }
    

    可以看出,这样虽然能过,但是代码量很多,有重复,下面简化

    public class Solution{
        public ListNode addTwoNumbers(ListNode l1, ListNode l2){
            ListNode dummy = new ListNode(0);
            ListNode head = dummy;
            int carry = 0;
            while(l1 != null || l2 != null){
                int n1 = (l1 != null) ? l1.val : 0;
                int n2 = (l2 != null) ? l2.val : 0;
                int sum = n1 + n2 + carry;
                carry = sum / 10;
                head.next = new ListNode(sum % 10);
                head = head.next;
                if(l1 != null)l1 = l1.next;
                if(l2 != null)l2 = l2.next;
            }
            if(carry > 0){
                head.next = new ListNode(carry);
            }
            
            return dummy.next;
        }
    }
    
  • 相关阅读:
    addEventListener 事件监听器 冒泡事件)
    内置对象 Date
    js-定时器
    BOM:浏览器对象
    DOM元素
    js控制style样式
    【应急响应】Windows 安全加固
    【渗透测试】社会工程学,没有射不下来的人
    【代码学习】PYTHON 线程
    【代码学习】PYTHON 进程
  • 原文地址:https://www.cnblogs.com/realzhaijiayu/p/13542004.html
Copyright © 2011-2022 走看看