• LeetCode


    题目

    URL:https://leetcode.com/problems/add-two-numbers/

    解法

    没什么特殊的解法,按位相加即可。

    注意点:

    1、l1 和 l2 不一样长。

    2、最终的进位。

        public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
            ListNode l3 = new ListNode(-1);
            ListNode tl3 = l3;
            int plus = 0;
            while (l1 != null || l2 != null || plus == 1) {
                int value = (l1 != null ? l1.val : 0) + (l2 != null ? l2.val : 0) + plus;
                if (value >= 10) {
                    plus = 1;
                    value -= 10;
                } else {
                    plus = 0;
                }
                ListNode next = new ListNode(value);
                tl3.next = next;
                tl3 = tl3.next;
                if (l1 != null) l1 = l1.next;
                if (l2 != null) l2 = l2.next;
            }
            return l3.next;
        }

     单层循环,时间复杂度O(max(l1.length,  l2.length)),运行时间约为 50 ms。

    总结

    胆大心细。无论是美女还是题目,你都可以得手。

  • 相关阅读:

    java 线程池
    java 普通内部类和静态内部类
    JVM
    java httpUtil
    maven 常见问题
    计算java对象的内存占用
    HTML5简单入门系列(九)
    HTML5简单入门系列(八)
    HTML5简单入门系列(七)
  • 原文地址:https://www.cnblogs.com/Piers/p/6979391.html
Copyright © 2020-2023  润新知