asp做的网站asp源代码,新建网站做优化,大展建筑人才网,小型软件外包公司给你两个 非空 的链表#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外#xff0c;这两个数都不会以 0 开… 给你两个 非空 的链表表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的并且每个节点只能存储 一位 数字。 请你将两个数相加并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外这两个数都不会以 0 开头。 Swift实现
class Solution {func addTwoNumbers(_ l1: ListNode?, _ l2: ListNode?) - ListNode? {var listNode1 l1;var listNode2 l2;//进位var carry: Int 0;let result: ListNode ListNode(0)var currentNode resultwhile listNode1 ! nil || listNode2 ! nil || carry 0 {let sum: Int (listNode1?.val ?? 0) (listNode2?.val ?? 0) carrycurrentNode.next ListNode(sum % 10)currentNode currentNode.next!listNode1 listNode1?.nextlistNode2 listNode2?.nextcarry sum / 10}return result.next}
}OC实现
- (ListNode *)addTwoNumber:(ListNode *)l1 listNode2:(ListNode *)l2 {ListNode *result [[ListNode alloc] initWithVal:0];ListNode *currentNode result;ListNode *listNode1 l1;ListNode *listNode2 l2;//进位标记NSInteger carry 0;while (listNode1 || listNode2 || carry 0) {NSInteger sum listNode1.val listNode2.val carry;currentNode.next [[ListNode alloc] initWithVal:sum%10];currentNode currentNode.next;listNode1 listNode1.next;listNode2 listNode2.next;carry sum / 10;}return result.next;
}