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

iis 添加网站网址例子

iis 添加网站,网址例子,东莞通充值,杭州建设厅官网证件查询🔥个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题 🍉学习方向:C/C方向 ⭐️人生格言:为天地立心,为生民立命,为…


 🔥个人主页:艾莉丝努力练剑

❄专栏传送门:《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题

🍉学习方向:C/C++方向

⭐️人生格言:为天地立心,为生民立命,为往圣继绝学,为万世开太平



前言:牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇【LeetCode】力扣题——轮转数组、消失的数字、数组串联中就介绍过了,这里不再赘述,我们进入今天的力扣题目介绍——


目录

正文 

一、移除链表元素问题

1、思路

2、解题过程

3、代码演示

二、 链表分割问题详解

1、思路

2、解题过程

3、代码演示

结尾


正文 

一、移除链表元素问题

203.移除链表元素

博主题解链接:创建新链表再尾插解决移除链表元素问题

推荐大家可以直接去看博主在力扣上面写的题解,介绍的还是比较详细的。

题目描述: 

1、思路

我们的思路是:创建新链表,再把原链表中不为val的节点拿到新链表尾插。

2、解题过程

像这种题目拿到手我们首先就是想到要画图,一定要有这个意识,数据结构的算法题一定要画图。

如下图所示——

我们创建一个新的链表,再在新的链表里面尾插值不为val的节点,最后返回新的链表,即得到了删除链表中等于给定值 val 的所有节点——

接下来我们实现一下这个程序—— 

3、代码演示

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode* removeElements(struct ListNode* head, int val) 
{//创建新链表ListNode* newHead,*newTail;newHead = newTail = NULL;ListNode* pcur = head;while(pcur){//判断pcur节点的值是否为valif(pcur->val != val){//尾插if(newHead == NULL){//链表为空newHead = newTail = pcur;}else{//链表非空newTail->next = pcur;newTail = newTail->next;}}pcur = pcur->next;}if(newTail)newTail->next = NULL;return newHead;
}

复杂度:时间复杂度:O(N),空间复杂度:O(1)  

二、 链表分割问题详解

这道题是牛客网上面的题目,因为也是链表专题的,博主就一并放到LeetCode专栏了。

本题的牛客网链接:链表分割

由于本题是牛客网的题,博主还没在牛客网写过题解,所以不放题解链接了,这题博主会细讲。 

题目描述:

1、思路

我们先想想可以怎么做,简单分析一下题目——

我们的思路是:创建两个链表(大链表、小链表),遍历原链表,小的尾插到小链表中,大的尾插到大链表中,大链表和小链表首尾相连。

2、解题过程

还是那句话,画图,一定要有这个意识,数据结构的算法题一定要画图。 

如下图所示——

我们想让它首尾相连, 根据我们的思路可以尝试写一下代码了——

代码演示:

//自测通不过
/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};*/
class Partition {
public:ListNode* partition(ListNode* pHead, int x) {//创建两个带头的空链表ListNode* lessHead, * lessTail;lessHead = lessTail = (ListNode*)malloc(sizeof(ListNode));ListNode* greaterHead, * greaterTail;greaterHead = greaterTail = (ListNode*)malloc(sizeof(ListNode));ListNode* pcur = pHead;while (pcur) {if (pcur->val < x){lessTail->next = pcur;lessTail = lessTail->next;}else {greaterTail->next = pcur;greaterTail = greaterTail->next;}pcur = pcur->next;}//大链表尾节点的next指针置为NULL(避免死循环)greaterHead->next = NULL;//大小链表首尾相连lessTail->next = greaterHead->next;ListNode* ret = lessHead->next;free(lessHead);free(greaterHead);return ret;}
};

对不对呢?我们自己输入一些值自测一下——

当然还可能存在这种错误,不过这个跟内存超限没什么关系:

这个问题出在下图这里——

不要写成greaterHead, 那就要报错了。

3、改进方案 

原因如下图所示——

程序死循环了,我们把大链表尾节点的next指针置为空指针,就可以避免死循环——

我们改进之后,再自测一下——

代码演示:

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};*/
#include <cstddef>
class Partition {
public:ListNode* partition(ListNode* pHead, int x) {//创建两个带头的空链表ListNode* lessHead,*lessTail;lessHead = lessTail = (ListNode*)malloc(sizeof(ListNode));ListNode*greaterHead,*greaterTail;greaterHead = greaterTail = (ListNode*)malloc(sizeof(ListNode));ListNode* pcur = pHead;while(pcur){if(pcur->val < x){lessTail->next = pcur;lessTail = lessTail->next;}else {greaterTail->next = pcur;greaterTail = greaterTail->next;}pcur = pcur->next;}//大链表尾节点的next指针置为NULL(避免死循环)greaterTail->next = NULL;//大小链表首尾相连lessTail->next = greaterHead->next;ListNode* ret = lessHead->next;free(lessHead);free(greaterHead);return ret;}
};

复杂度:时间复杂度:O(N),空间复杂度:O(1)  


结尾

往期回顾:

【牛客&LeetCode&数据结构】单链表的应用——合并两个有序链表问题、链表的回文结构问题详解

【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解

【LeetCode】用双指针解决移除元素问题、合并两个有序数组求解

【LeetCode】力扣题——轮转数组、消失的数字、数组串联

结语:本篇文章到这里就结束了,本文讲述的两道代码题并不适合C语言初学者,需要有一定的C语言基础,最好要学过数据结构与算法的算法复杂度和链表的知识,才能写出复杂度较优的代码来。大家一定要自己动手敲一敲,不敲的话不仅容易忘记,也不方便将来复习。 


文章转载自:

http://8EmXgezy.nkLLb.cn
http://f4HNInD6.nkLLb.cn
http://H9rX1O7O.nkLLb.cn
http://p1Zy6ipV.nkLLb.cn
http://YBOV9iRR.nkLLb.cn
http://z1noT6sj.nkLLb.cn
http://SwK2zqHG.nkLLb.cn
http://n2zn4nfb.nkLLb.cn
http://KnOOUJ3I.nkLLb.cn
http://CyivdFGp.nkLLb.cn
http://eM2Q3FNd.nkLLb.cn
http://AzlZg2KF.nkLLb.cn
http://niq3wYS6.nkLLb.cn
http://X6Jz1d9l.nkLLb.cn
http://MltAnc0l.nkLLb.cn
http://dBOnjoZJ.nkLLb.cn
http://Mhkk8ES4.nkLLb.cn
http://340GXPph.nkLLb.cn
http://0yOixTzZ.nkLLb.cn
http://kNFuHsm6.nkLLb.cn
http://mtW1U60k.nkLLb.cn
http://Ga7YvLbH.nkLLb.cn
http://ASYn0mqo.nkLLb.cn
http://2YSMw5db.nkLLb.cn
http://pWCZQgIe.nkLLb.cn
http://Ed1gHjNF.nkLLb.cn
http://zAA9gy6W.nkLLb.cn
http://dB7vPIhF.nkLLb.cn
http://3vaftvHQ.nkLLb.cn
http://CyI4roAr.nkLLb.cn
http://www.dtcms.com/wzjs/633569.html

相关文章:

  • 中国交通建设集团官方网站wordpress 添加子菜单
  • 网站的交互设计有什么大连网站开发企业
  • 怎么建立网站网址事业单位网站开发工作规程
  • 社科联网站建设方案策划书网站空间的配置
  • 免费做视频相册的网站注册一个公司一年需要多少钱
  • 免费开源建站系统源码凡科建站怎么做微网站
  • 品牌购物网站十大排名设计网站的公司
  • 网站中页面链接怎么做的简述php网站开发流程图
  • 网站建设企业响应式网站模板快速网站推广优化
  • 地产网站规划wordpress写网页教程
  • 帝国做的网站装修设计公司快餐店
  • 网站制作如何做免费企业查询网站
  • 帝国建站模板电子商务主要干嘛
  • hanchengkeji杭州网站建设新版在线天堂网
  • 怎样进入网站的后台如何做一个网页项目
  • 河海大学土木专业类建设网站苏州虎丘区建设局网站
  • c net 做网站好吗wordpress嵌入网页
  • 海口有做棋牌娱乐网站的吗网站名称查询
  • 网站上面的体验卡怎么做久久室内设计网
  • 国家工信部备案网站wordpress搜索框位置
  • 长治一般做一个网站需要多少钱楚风网站建设工作室
  • 国外网站dns 地址禁止阿里云建站保证销售额
  • dw软件做的东西怎么在网站用百度快速查询
  • 网站建设哪家wordpress主题国外优秀
  • 北京市建设质量监督网站哪个网站能接施工图来做
  • 一个网站放两个vps企业网站打不开什么原因
  • 在线工具网站wordpress 好用的编辑器
  • 锡林浩特网站建设开发网站做下载功能
  • 权威发布海报网站优化要做哪些工作
  • 简洁大气网站设计wordpress5.0中文编辑器