题解 | #删除有序链表中重复的元素# Golang + 双指针

删除有序链表中重复的元素

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

双指针

/**
  * 
  * @param head ListNode类 
  * @return ListNode类
*/
func deleteDuplicates( head *ListNode ) *ListNode {
    // write code here
    if head == nil {
        return head
    }

//  双指针
    slow, fast := head, head.Next
    for fast != nil {
//      双指针值相同,则慢指针指向快指针
        if slow.Val == fast.Val {
            slow.Next = fast.Next
        }else{
//         否则向后滑动
            slow = slow.Next
        }

        fast = fast.Next
    }

    return head
}
全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务