美文网首页
刷个题-两数相加

刷个题-两数相加

作者: 平凡啊菜 | 来源:发表于2019-11-19 06:54 被阅读0次

LEECODE题:

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

示例

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807

附上递归方法

package main

import "fmt"

type ListNode struct {
    Val int
    Next *ListNode
}

func addTwoNode(mL1,mL2 *ListNode)*ListNode{
    if mL1 ==nil && mL2 == nil{
        return nil
    }
    if mL1 ==nil{
        return mL2
    }
    if mL2 == nil{
        return mL1
    }
    sum := mL1.Val + mL2.Val
    nextNode := addTwoNode(mL1.Next,mL2.Next)
    if sum<10{
        return &ListNode{Val:sum,Next:nextNode}
    }else {
        tempNode := &ListNode{
            Val:1,
            Next:nil,
        }
        return &ListNode{
            Val:sum-10,
            Next:addTwoNode(nextNode,tempNode),
        }
    }
}

func main() {
    //测试结果:
    mL1 := makeListNode([]int{2,4,3})
    mL2 := makeListNode([]int{5,6,4})
    mSum := addTwoNode(mL1,mL2)
    fmt.Println("\nmSum:")
    for mSum!=nil{
        fmt.Printf("%v ",mSum.Val)
        mSum = mSum.Next
    }
}

func makeListNode(nums []int) *ListNode  {
    if len(nums)==0{
        return nil
    }
    res := &ListNode{
        Val:nums[0],
    }
    temp := res
    for i:=1;i<len(nums);i++{
        temp.Next = &ListNode{Val:nums[i],}
        temp = temp.Next
    }
    return res
}

测试结果

image.png
非常好的模式,让我今年收益翻倍的文章,强烈推荐分享下:
2020年4月至6月净利润断层实战小结-真香~

相关文章

  • 刷个题-两数相加

    LEECODE题: 示例 附上递归方法 测试结果 非常好的模式,让我今年收益翻倍的文章,强烈推荐分享下:

  • LeetCode刷题-两数相加

    前言说明 算法学习,日常刷题记录。 题目连接 两数相加[https://leetcode-cn.com/probl...

  • Python小白 Leetcode刷题历程 No.1-No

    Python小白 Leetcode刷题历程 No.1-No.5 两数之和、两数相加、无重复字符的最长子...

  • LeetCode刷题002:两数相加

    题目:两数相加 难度: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,...

  • 两数相加 II(golang)

    原题:两数相加 II 使用栈,其它与两数相加(golang)类似

  • leetcode 刷题 题2.两数相加

    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 ...

  • [算法题]两数相加

    本文由黑壳博客整理 本文来源[算法题]两数相加 今日总结 不会画画的程序猿不是个好博主 正文 场景问题 上次整理完...

  • 算法题:两数相加

    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 ...

  • 力扣刷题——2. 两数相加

    题目 给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能...

  • 2. 自我刷题之两数相加

    回归次数:1 题目: 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处给出两个 非空 的链表用来...

网友评论

      本文标题:刷个题-两数相加

      本文链接:https://www.haomeiwen.com/subject/bxgiictx.html