抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

Leetcode 2.两数相加

2. 两数相加

思路:

因为倒序的,所以按小学数学中的相加进位处理即可。需注意,如果最后加完进位还有剩的情况。

代码:

class Solution {
    fun addTwoNumbers(l1: ListNode?, l2: ListNode?): ListNode? {
        val dummyHead = ListNode(0)
        var cur = dummyHead
        var p = l1
        var q = l2
        //进位
        var carry = 0
        while (p != null || q != null) {
            val x = p?.`val` ?: 0
            val y = q?.`val` ?: 0
            val sum = carry + x + y
            carry = sum / 10
            cur.next = ListNode(sum % 10)
            cur = cur.next!!
            p = p?.next
            q = q?.next
        }
        if (carry > 0) {
            cur.next = ListNode(carry)
        }
        return dummyHead.next
    }
}


0条评论

发表评论