【每日刷题】Day22

【每日刷题】Day22

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 1669. 合并两个链表 - 力扣(LeetCode)

2. 11. 盛最多水的容器 - 力扣(LeetCode)

3. 148. 排序链表 - 力扣(LeetCode)

1. 1669. 合并两个链表 - 力扣(LeetCode)

//思路:使用两个指针定位到需要删除的数据的两端,再使用两个指针free掉中间的数据,随后再将链表连接即可

 typedef struct ListNode LN;


 

struct ListNode* mergeInBetween(struct ListNode* list1, int a, int b, struct ListNode* list2)

{

    LN* sta = list1;

    LN* des = list1;

    while(--a)//定位到需要删除的第一个节点的前一个节点

    {

        sta = sta->next;

    }

    while(b+1)//定位到需要删除的最后一个节点的后一个节点

    {

        des = des->next;

        b--;

    }

    LN* pmove = list2;

    while(pmove->next)//定位到list2的末尾

    {

        pmove = pmove->next;

    }

    LN* pdel = sta->next;

    while(pdel!=des)//删除节点

    {

        LN* pcur = pdel->next;

        free(pdel);

        pdel = pcur;

    }

    sta->next = list2;//连接链表

    pmove->next = des;

    return list1;

}

2. 11. 盛最多水的容器 - 力扣(LeetCode)

//思路:双指针。分别从数组头尾向中间遍历,每一次遍历较小值为高,算出面积,记录最大的面积返回。

int maxArea(int* height, int heightSize)

{

    int ans = 0;

    int left = 0;

    int right = heightSize-1;

    while(left<right)

    {

        int high = height[left]<height[right]?height[left]:height[right];//较小值为高

        int area = (right-left)*high;//算出面积

        ans = area>ans?area:ans;记录最大面积

        height[left]<height[right]?left++:right--;//将较小的那一边向中间遍历一下

    }

    return ans;

}

3. 148. 排序链表 - 力扣(LeetCode)

//思路:使用数组将链表中的值存储,使用qsort库函数对数组排序,再将数组中的元素逐个放回链表中,完成链表排序

typedef struct ListNode LN;

int cmp(const void* a,const void* b)

{

    return *(int*)a-*(int*)b;

}


 

struct ListNode* sortList(struct ListNode* head)

{

    int arr[50001];

    LN* pmove = head;

    LN* newhead = head;

    int i = 0;

    while(pmove)//将链表中的值存储进数组

    {

        arr[i++] = pmove->val;

        pmove = pmove->next;

    }

    qsort(arr,i,sizeof(int),cmp);//按照升序将数组排序

    for(int j = 0;j<i;j++)//再将数组的元素逐个存储回链表

    {

        newhead->val = arr[j];

        newhead = newhead->next;

    }

    return head;

}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 10:22:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 10:22:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 10:22:03       87 阅读
  4. Python语言-面向对象

    2024-04-24 10:22:03       96 阅读

热门阅读

  1. 标准化,信息化,数字化,智能化

    2024-04-24 10:22:03       38 阅读
  2. 在微信小程序部署AI模型的几种方法

    2024-04-24 10:22:03       29 阅读
  3. C# 异步编程

    2024-04-24 10:22:03       40 阅读
  4. python实现读取,修改excel数据

    2024-04-24 10:22:03       36 阅读
  5. 等保测评试题分享(4)

    2024-04-24 10:22:03       39 阅读
  6. Python dlib(HOG+SVM)人脸识别总结

    2024-04-24 10:22:03       39 阅读
  7. 组合模式(Composite)

    2024-04-24 10:22:03       34 阅读
  8. nn.Sequential与tensorflow的Sequential对比

    2024-04-24 10:22:03       91 阅读
  9. vue2使用过滤器实现菜单栏文字动态显示

    2024-04-24 10:22:03       34 阅读
  10. Element UI的el-table-column组件不支持v-show指令

    2024-04-24 10:22:03       34 阅读
  11. 什么是 XSS 攻击?

    2024-04-24 10:22:03       31 阅读
  12. Android kotlin创建App实例

    2024-04-24 10:22:03       42 阅读