当前位置: 首页 > news >正文

力扣算法题(基于C语言)

仅作自己学习使用


文章目录

  • NO.11 盛最多水的容器(中等)
  • NO.83 删除有序链表中的重复元素(简单)
  • NO.328 奇偶链表(中等)

NO.11 盛最多水的容器(中等)

  • 原文链接:https://leetcode.cn/problems/container-with-most-water/
int maxArea(int* height, int heightSize) {int max = 0;// 设立双指针,一个指针从左到右,一个指针从右到左// 指针的移动策略,当且仅当,移动短板对应的指针,体积才可能变大// 若移动长板对应的指针,体积是一定减小的int i = 0, j = heightSize-1,volume;while(i<j){volume = (j-i)*(height[j]<height[i]?height[j]:height[i]);if(volume>max) max = volume;height[j]<height[i]?j--:i++; // 短板指针移动}return max;
}

NO.83 删除有序链表中的重复元素(简单)

  • 原文链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-list/description/
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* deleteDuplicates(struct ListNode* head) {if(head == NULL) return NULL;	 // 空表直接返回struct ListNode *pre = head; 	 // 指针p的前驱指针struct ListNode *p = head->next;if(p==NULL) return pre;		// 表中只有一个元素,无需删除,直接返回while(p){	// 遍历该有序表if(pre->val == p->val){ // 发现重复元素,前驱指针不动,移动指针p,把所有和pre相同的元素都删除pre->next = p->next;free(p);p = pre->next;}else{	// pre和p不相同,同步后移一个位置pre = p;p = p->next;}}return head;
}

NO.328 奇偶链表(中等)

  • 原文链接:https://leetcode.cn/problems/odd-even-linked-list/description/
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/// 思路:把奇数号节点留在head中,把偶数号节点摘下放在r中//      遍历结束后,再把r链接在head尾部
struct ListNode* oddEvenList(struct ListNode* head) {struct ListNode* p = head;	// p是head的游标指针,struct ListNode* r,*q;		// r指向偶数号节点链表的首节点,q是r的游标if(p==NULL) return NULL;	// 链表为空,直接返回if(p->next){	// 初始化r链表r = p->next;q = r;}else{			// 如果head只有一个节点直接返回return head;}while(p->next && q->next)	// 交替处理奇号,偶号节点{// 处理偶数号节点p->next = q->next;p = p->next;// 处理奇数号节点if(p->next){ // 因为p在上一步变化后可能为空,所以要重新判断q->next = p->next;q = q->next;}}q->next = NULL; p->next = r; // 把r链接到head尾部return head;
}

http://www.mrgr.cn/news/83364.html

相关文章:

  • winform第三方界面开源库AntdUI的使用教程保姆级环境设置篇
  • 鸿蒙中调整应用内文字大小
  • STL——二叉搜索树
  • c语言提供后端,提供页面显示跳转服务
  • 数据库事务:确保数据一致性的关键机制
  • 华晨宇新专辑《量变临界点》上线 开启自我觉知的音乐旅程
  • 2025年第三届“华数杯”国际赛B题解题思路与代码(Python版)
  • Qt学习笔记第81到90讲
  • 油猴支持阿里云自动登陆插件
  • SpringBoot3
  • java开发springoot
  • 金融项目实战 02|接口测试分析、设计以及实现
  • 鼠标自动移动防止锁屏的办公神器 —— 定时执行专家
  • 【traefik】forwadAuth中间件跨namespace请求的问题
  • 【FPGA】时序约束与分析
  • 【git】-初始git
  • 【git】-2 分支管理
  • mysql-运维sql
  • 2025年第三届“华数杯”国际赛B题解题思路与代码(Matlab版)
  • 熵与交叉熵:从不确定性角度理解 KL 散度
  • win32汇编环境,窗口程序中对按钮控件常用操作的示例
  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)
  • linux RT-Preempt spin lock实现
  • TVbox 手机、智能电视节目一网打尽
  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Matlab版)
  • Ubuntu | PostgreSQL | 解决 ERROR: `xmllint` is missing on your system.