zoukankan      html  css  js  c++  java
  • 合并两个有序链表-基于Go

    /**
     * Definition for singly-linked list.
     * type ListNode struct {
     *     Val int
     *     Next *ListNode
     * }
     */
    func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode {
        var l = &ListNode{}
        var curr = l // curr是指向l的指针,最后返回的是l的Next,curr的val并不关心
    
        for l1!=nil && l2!=nil{
            if l1.Val<=l2.Val{
                // l1小则指向l1
                curr.Next = l1
                // curr和l1向后移动
                curr = curr.Next
                l1 = l1.Next
            }else{
                // l2小则指向l2
                curr.Next = l2
                // curr和l2向后移动
                curr = curr.Next
                l2 = l2.Next
            }
        }
    
        if l1==nil{
            // l1走完了,直接拼上l2
            curr.Next = l2
        }else{
            // l2走完了,直接拼上l1
            curr.Next = l1
        }
        return l.Next
    }
    
  • 相关阅读:
    ios数据存储方式FMDB
    ios中的coredata
    编程岗位电话面试问答Top 50[转]
    活动图
    时序图
    用例图
    类图
    Movie
    EasyMock
    cglib应用
  • 原文地址:https://www.cnblogs.com/pangqianjin/p/14632077.html
Copyright © 2011-2022 走看看