leetCode之递归

2020-09-26  本文已影响0人  Benzic

首页目录 点击查看

第一题

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

解题思路

我的答案

var mergeTwoLists = function (l1, l2) {
            if (l1 === null) {
                return l2
            } else if (l2 === null) {
                return l1
            } else if (l1.val < l2.val) {
                l1.next = mergeTwoLists(l1, l2.next)
                return l1
            } else {
                l2.next = mergeTwoLists(l1.next, l2)
                return l2
            }
        };
image.png

第二题

示例

输入: 2.00000, 10
输出: 1024.00000

输入: 2.10000, 3
输出: 9.26100

输入: 2.00000, -2
输出: 0.25000
解释: 2-2 = 1/22 = 1/4 = 0.25

解题思路

我的答案

var myPow = function (x, n) {
    if (n === 0) {
        return 1
    }
    if (n % 2) {
        return x * myPow(x, n - 1)
    }
    if (n < 0) {
        return 1 / myPow(x, -n)
    }
    return myPow(x * x, n / 2)
};
上一篇下一篇

猜你喜欢

热点阅读