zoukankan      html  css  js  c++  java
  • 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。

    总结

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

  • 相关阅读:
    python 基于gevent协程实现socket并发
    python asyncio
    python 池 协程
    python
    python 守护进程
    python 线程 threading模块
    python 安装Django失败处理
    python 队列
    python 锁
    继承,抽象类,多态,封装
  • 原文地址:https://www.cnblogs.com/Piers/p/6979391.html
Copyright © 2011-2022 走看看