flash教程网站都有哪些,豪禾创意海报设计理念,深圳app搭建,湖南鸿泰电力建设有限公司网站题目
给你两个 非空 的链表#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加#xff0c;并以相同形式返回一个表示和的链表。
示例
输入#xff1a;l1 [2,4,3], l2 [5,6,4] 输出…题目
给你两个 非空 的链表表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的并且每个节点只能存储 一位 数字。 请你将两个数相加并以相同形式返回一个表示和的链表。
示例
输入l1 [2,4,3], l2 [5,6,4] 输出[7,0,8] 解释342 465 807.
解析
这道题是模拟法新起一个链表来存不断循环、相加、进位来计算最后若还有进位就再补一位
/*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/
func addTwoNumbers(l1, l2 *ListNode) (*ListNode) {var tail *ListNodevar head *ListNodecarry : 0 // 进位for l1 ! nil || l2 ! nil {n1, n2 : 0, 0if l1 ! nil {n1 l1.Vall1 l1.Next}if l2 ! nil {n2 l2.Vall2 l2.Next}sum : n1 n2 carrysum, carry sum%10, sum/10if head nil {head ListNode{Val: sum}tail head} else {tail.Next ListNode{Val: sum}tail tail.Next}}if carry 0 {tail.Next ListNode{Val: carry}}return head
}