题解 | #删除有序链表中重复的元素-I#

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

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

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @return ListNode类
 */
struct ListNode* deleteDuplicates(struct ListNode* head ) {
    // write code here
    struct ListNode* node=head;
    struct ListNode* next=node->next;
    
    while(node){ //当node不是空的时候
        if(next){//如果next也不是空
            while(node->val==node->next->val){//如果当前节点的值等于下一个结点的值
                node->next=node->next->next;  //剔除下一个结点,直接链接当前结点到下一节点的下一节点
                if(node->next==NULL){         //如果下一个结点的下一个结点是空,直接跳出
                    break;
                }
            }
        }
        node=node->next; //处理完一个节点后,取下一个结点做当前节点
        if(node){        //如果node已经是空了,那么他就没有下一个结点,如果node不是空,才有下一个节点
            next=node->next;
        }
    }
    return head; //直接返回头结点,因为无论如何头结点都不会被删
}
全部评论

相关推荐

11-23 15:33
已编辑
门头沟学院 Java
CUTMR:换账号试试重启推荐算法,我换账号之后回复率还不错,约莫有个20%左右的消息回复率,前几页、主动招呼的HR也开始符合我期望薪资,此前的大号从招呼、回复、前几页的岗位薪资在涨幅30%+以上 用着用着聊着聊着就变成-20%,而且我开通会员之后直接0面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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