题解 | #合并两个排序的链表#

合并两个排序的链表

http://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337


package main
import . "nc_tools"
/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 
 * @param pHead1 ListNode类 
 * @param pHead2 ListNode类 
 * @return ListNode类
*/
func Merge( pHead1 *ListNode ,  pHead2 *ListNode ) *ListNode {
    // write code here
    cur1:= pHead1
    cur2 := pHead2
    
    resCur := &ListNode{}
    resHead := resCur
    for cur1 != nil && cur2 != nil {
        if cur1.Val < cur2.Val {
            resCur.Next = cur1
            cur1 = cur1.Next
        } else {
            resCur.Next = cur2
            cur2 = cur2.Next
        }
        resCur = resCur.Next
    }
    if cur1 != nil {
        for cur1 != nil {
            resCur.Next = cur1
            cur1 = cur1.Next
            resCur = resCur.Next
        }
    }
    if cur2 != nil {
        for cur2 != nil {
            resCur.Next = cur2
            cur2 = cur2.Next
            resCur = resCur.Next
        }
    }
    return resHead.Next
}
全部评论

相关推荐

点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务