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 批量生成静态文件目录代码
    PHP 导出Excel 文档
    Samba Server 配置
    PHP curl超时问题
    php ci 2.0框架 ORM
    YII 的基本CURL操作
    PHP 操作socket 实现简易聊天室
    PHP simplexml_load_string 过滤<![CDATA[XXXX]]>
    PHP 获取当天 凌晨 时间戳常用代码
    2019年值得你使用的20大开发工具
  • 原文地址:https://www.cnblogs.com/realzhaijiayu/p/13542004.html
Copyright © 2011-2022 走看看