首页 > 其他分享 >83. 删除排序链表中的重复元素c

83. 删除排序链表中的重复元素c

时间:2024-03-15 21:12:37浏览次数:26  
标签:pre head ListNode struct return next 链表 83 排序

 

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
int pre;
struct ListNode* f(struct ListNode* head){
    if(!head) return NULL;
    if(head->val==pre){
        struct ListNode* temp=head->next;
        free(head);
        return f(temp);
    }else{
        pre=head->val;
        head->next=f(head->next);
    }
    return head;
}

struct ListNode* deleteDuplicates(struct ListNode* head) {
    pre=INT_MAX;
    return f(head);
}

标签:pre,head,ListNode,struct,return,next,链表,83,排序
From: https://www.cnblogs.com/llllmz/p/18076245

相关文章

  • 排序算法以及TOP 10(算法实验一)
    实验目的:掌握选择排序、冒泡排序、合并排序、快速排序、插入排序算法原理掌握不同排序算法时间效率的经验分析方法,验证理论分析与经验分析的一致性。问题重述(问题描述):问题一:实现选择排序、冒泡排序、合并排序、快速排序、插入排序算法问题二:生成20组数量规模为n(10万,20万......
  • C语言新手经典基础题——冒泡排序
    冒泡排序:用户输入一组数,编写程序将该组数据进行从小到大的顺序进行排列。举个例子:用户输入;1413918766这一组数据,现在要将这组数据进行从小到大的程序进行排列。我们编写程序的思路如下:现将第一个数和第二个数进行比较,即14和13,13比14小,那么就将13和14进行位置的调换,13......
  • 记录学生的姓名、编号以及总分,输入n,代表学生个数,要求用结构体泡排序将学生信息按学生
    //记录学生的姓名、编号以及总分,输入n,代表学生个数,要求用结构体,//用冒泡排序将学生信息按学生总分从低到高排名,将学生信息打印出来;//并输入一个总分x,用折半查找查找所有总分为x的学生,并将学生信息打印出来#include<stdio.h>#include<stdlib.h>structStudent{ ch......
  • 21. 合并两个有序链表c
    /***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*mergeTwoLists(structListNode*list1,structListNode*list2){structListNode*root=NULL;if(!list1)returnl......
  • 选择排序
    #include<stdio.h>intmain(){intarr[5]={2,6,3,1,4};//26314inti,j;for(i=0;i<4;i++){//5个数,需要比较4次intmin=i;//每一轮都能确定出最小的数,要把最小数的下标设置成每轮开始的第一个下标。for(j=i;j<5;j++){if(a......
  • cdkdroplist,调整button排序和位置问题
    buttonenhancement;简单做个记录,给自己看的哈哈!!!应用场景由于cdkdroplist多行时的item移动难用的一批,跟需求讨论决定搞成单行的滚动条;好了开干,玩的就是真实。item少的时候就不说了,正常。当item多时需要滚动,开始操作:超出文本滚动,不换行...等等,原本根据配置的居左居右咋办。原......
  • 卡码java基础课 | 13.链表的基础操作I
    学习内容:链表基础重点归纳:见例题例题:解:点击查看代码importjava.util.Scanner;//定义链表classLinkedList{//定义链表中的链表节点publicstaticclassNode{intdata;//数据Nodenext;//指针publicNode(intdata){/......
  • 【算法】二分查找——在排序数组中查找元素的第一个和最后一个位置
    leetcode链接题目描述给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,......
  • 十大经典排序之选择排序
    文章目录概要整体架构流程代码实现小结概要选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n²)的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。整体架构流程首先在未排序序列中找到最小(大)元素,存放到......
  • leetcode 2.两数相加 ,链表
    2.两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0 开头。 示例1:输入:l1=[2,4......