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

合并两个排序的链表

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
}
全部评论

相关推荐

头像
03-26 13:44
南华大学 Java
在看面经的花生米很野蛮:这种情况下你当然要回答,你也是吗!!!!我超喜欢他的XXXXX
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务