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;
        }
    }
    
  • 相关阅读:
    防止重复点击
    刷新当前页面的几种方法
    PHP删除数组中空值
    json转化数组
    两个不能同时共存的条件orWhere查询
    SQLSTATE[42000]
    laravel一个页面两个表格分页处理
    Hash::make与Hash::check
    unbind()清除指定元素绑定效果
    二级联动
  • 原文地址:https://www.cnblogs.com/realzhaijiayu/p/13542004.html
Copyright © 2011-2022 走看看