领扣LintCode算法问题答案-756. 两数相乘

领扣LintCode算法问题答案-756. 两数相乘

756. 两数相乘

给出两个链表形式表示的数字,写一个函数得到这两个链表相乘乘积。

样例 1:

输入:9->4->6->null,8->4->null
输出:79464
解释:946*84=79464

样例 2:
输入:3->2->1->null,1->2->null
输出:3852
解释:321*12=3852

题解

/**
 * Definition for ListNode
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */

public class Solution {
    /**
     * @param l1: the first list
     * @param l2: the second list
     * @return: the product list of l1 and l2
     */
    public long multiplyLists(ListNode l1, ListNode l2) {
        // write your code here
        long num1 = 0;
        while (l1 != null) {
            num1 *= 10;
            num1 += l1.val;
            l1 = l1.next;
        }
        long num2 = 0;
        while (l2 != null) {
            num2 *= 10;
            num2 += l2.val;
            l2 = l2.next;
        }

        return num1 * num2;
    }
}

原题链接点这里

鸣谢

非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。
欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页