您的位置 首页 golang

golang 链表合并


思路来源:

https://leetcode-cn.com/probl…

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4
func main(){    a := new(Node)    a.Data = 1    a.Next = &Node{2, &Node{4, nil}}    b := new(Node)    b.Data = 1    b.Next = &Node{3, &Node{4, nil}}    c := merge(a, b)    for {        fmt.Print(c.Data)        if c.Next == nil {            break        }        c = c.Next    }}type Node struct {    Data int    Next *Node}func merge(a, b *Node) *Node {    if a == nil {        return b    }    if b == nil {        return a    }    if a.Data < b.Data {        a.Next = merge(a.Next, b)        return a    }    b.Next = merge(a, b.Next)    return b}

文章来源:智云一二三科技

文章标题:golang 链表合并

文章地址:https://www.zhihuclub.com/1348.shtml

关于作者: 智云科技

热门文章

发表评论

您的电子邮箱地址不会被公开。

网站地图