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

笑话小网站模板html南京网站建设 ww

笑话小网站模板html,南京网站建设 ww,wordpress的cms插件,怎样自己弄一个网站目录 1. 单链表相关练习题1.1 移除链表元素1.2 反转链表1.3 链表的中间结点1.4 链表的倒数第k个结点1.5 合并两个有序链表1.6 链表分割1.7 链表的回文结构1.8 相交链表1.9 判断一个链表中是否有环1.10 寻找环状链表相遇点1.11 链表的深度拷贝 1. 单链表相关练习题 注#xff1… 目录 1. 单链表相关练习题1.1 移除链表元素1.2 反转链表1.3 链表的中间结点1.4 链表的倒数第k个结点1.5 合并两个有序链表1.6 链表分割1.7 链表的回文结构1.8 相交链表1.9 判断一个链表中是否有环1.10 寻找环状链表相遇点1.11 链表的深度拷贝 1. 单链表相关练习题 注单链表结构上存在一定缺陷所以链表相关的题目一般都针对与单链表。 1.1 移除链表元素 题目要求 题目信息 头节点head移除值val 题目链接 移除链表元素 方法顺序处理法 思路分析链表结构与结点所处的位置是否为空链表结点是否为头结点分情况依次处理。 过程演示 struct ListNode* removeElements4(struct ListNode* head, int val) {struct ListNode* pre NULL;struct ListNode* cur head;while (cur){if (cur-val val){//头删if (cur head){head head-next;free(cur);cur head;}else//中间删{pre-next cur-next;free(cur);cur pre-next;}}else{pre cur;cur cur-next;}}return head; }1.2 反转链表 题目要求 题目链接 反转链表 过程演示 struct ListNode* reverseList(struct ListNode* head) {struct ListNode* pre NULL;struct ListNode* mid head;struct ListNode* cur NULL;if(head){cur head-next;}while(mid){mid-next pre;pre mid;mid cur;if(cur){cur cur-next;}}return pre;}1.3 链表的中间结点 题目要求 题目链接 链表的中间结点 过程演示快慢指针法 struct ListNode* middleNode(struct ListNode* head) {struct ListNode* fast head;struct ListNode* slow head;while(fast ! NULL fast-next ! NULL){fast fast-next-next;slow slow-next;}return slow; }1.4 链表的倒数第k个结点 题目要求 题目链接 倒数第k个结点 过程演示 struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {struct ListNode* cur pListHead;struct ListNode* pre pListHead;while(cur k--){cur cur-next;}if(k 0){pre NULL;}while(cur){pre pre-next;cur cur-next;}return pre; }1.5 合并两个有序链表 题目要求 题目链接 合并两个链表 struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {struct ListNode* newhead NULL;struct ListNode* cur NULL;struct ListNode* newnode NULL;if(list1 NULL)return list2;if(list2 NULL)return list1;while(list1 ! NULL list2 ! NULL){if(list1-val list2-val){newnode list1;list1 list1-next;}else{newnode list2;list2 list2-next;}if(newhead NULL){newhead newnode;newnode-next NULL;cur newhead;}else{//在遍历过程中list1 或 list2 会等于 NULLcur-next newnode;if(newnode ! NULL){newnode-next NULL;cur cur-next;}}}//有一个链表本就为空if(list1){cur-next list1;}if(list2){cur-next list2;}return newhead; }1.6 链表分割 题目要求 题目链接 合并两个链表 ListNode* BuyNewNode(int val){ListNode* newnode (ListNode*)malloc(sizeof(ListNode));newnode-val val;newnode-next nullptr;return newnode;}ListNode* partition(ListNode* pHead, int x) {ListNode* newhead1 nullptr;ListNode* end1 nullptr;ListNode* newhead2 nullptr;ListNode* end2 nullptr;ListNode* cur pHead;while(cur){if(cur-val x){if(newhead1 nullptr){newhead1 BuyNewNode(cur-val);end1 newhead1; }else {end1-next BuyNewNode(cur-val);end1 end1-next;}}else {if(newhead2 nullptr){newhead2 BuyNewNode(cur-val);end2 newhead2; }else {end2-next BuyNewNode(cur-val);end2 end2-next;}}cur cur-next;}if(newhead1 nullptr){newhead1 newhead2;}else {end1-next newhead2;}return newhead1;}1.7 链表的回文结构 题目要求 题目链接 回文串 ListNode* reverse(ListNode* head){ListNode* pre nullptr;ListNode* mid head;ListNode* cur head-next;while (mid){mid-next pre;pre mid;mid cur;if (cur){cur cur-next;}}return pre;}bool chkPalindrome(ListNode* A){//找相同逆置//逐点比较//回文结构存在奇数个结点//获取中间结点ListNode* fast A;ListNode* slow A;while(fast fast-next){fast fast-next-next;if(fast){slow slow-next;}}//表1ListNode* newhead2 slow-next;//表2slow-next nullptr;ListNode* newhead1 reverse(A);if(fast){newhead1 newhead1-next;}while (newhead1 newhead2 newhead1-val newhead2-val){newhead1 newhead1-next;newhead2 newhead2-next;}if (newhead1 nullptr newhead2 nullptr){return true;}return false;}1.8 相交链表 题目要求 题目链接 相交链表 void swap(struct ListNode** node1, struct ListNode** node2) {struct ListNode* tmp *node1;*node1 *node2;*node2 tmp; }struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {struct ListNode* short_list1 headA;struct ListNode* short_list2 headA;struct ListNode* long_list1 headB;struct ListNode* long_list2 headB;while(short_list1 long_list1){short_list1 short_list1-next;long_list1 long_list1-next;}if(short_list1){swap(short_list1, long_list1);swap(short_list2, long_list2);}while(long_list1){long_list1 long_list1-next;long_list2 long_list2-next;}//while((short_list2 long_list2) || short_list2 ! long_list2)while(short_list2 long_list2 short_list2 ! long_list2){long_list2 long_list2-next;short_list2 short_list2-next;}return short_list2; }1.9 判断一个链表中是否有环 题目要求 题目链接 判断是否有环 //逻辑步骤存疑 bool hasCycle(struct ListNode *head) {struct ListNode* fast head;struct ListNode* slow head;//err: while(fast slow ! fast)while(fast fast-next){fast fast-next-next;slow slow-next;if(slow fast){return true;}}return false; }1.10 寻找环状链表相遇点 题目要求 题目链接 寻找环状链表相遇点 思路依靠结论一个结点从起始点一个结点从相遇点快慢指针相遇点以同速行走一次走一步当他们再一次初次相遇时此相遇结点即为入环点。 struct ListNode *detectCycle(struct ListNode *head) {//快慢指针确定首次相遇点//起始点与相遇点出发同速移动最后的相遇的点即为环的进入点struct ListNode* fast head;struct ListNode* slow head;//遍历寻找相遇点while(fast fast-next){fast fast-next-next;slow slow-next;if(fast slow){break;}}//判断是否为环状链表if(fast NULL || fast-next NULL){return NULL;}slow head;while(fast ! slow){fast fast-next;slow slow-next;}return fast; }1.11 链表的深度拷贝 题目要求 题目链接 链表的深度拷贝 //思路 //生成拷贝结点 //调整拷贝结点的指针 //还原原链表链接拷贝结点 struct Node* BuyNewNode(int val) {struct Node* newnode (struct Node*)malloc(sizeof(struct Node));newnode-val val;newnode-next NULL;newnode-random NULL;return newnode; }struct Node* copyRandomList(struct Node* head) {struct Node* node1 head;//判断是否为空链表if(head NULL){return head;}//创建新节点while (node1){struct Node* newnode BuyNewNode(node1-val);newnode-next node1-next;node1-next newnode;node1 node1-next-next;}//调整新节点的随机指针struct Node* node2 head-next;node1 head;while (node2){if (node1-random){node2-random node1-random-next;}node1 node1-next-next;if (node2-next){node2 node2-next-next;}else{node2 node2-next;}}//还原链表链接新链表node1 head;node2 head-next;struct Node* newhead head-next;while (node1){node1-next node1-next-next;if (node2-next){node2-next node2-next-next;}node1 node1-next;node2 node2-next;}return newhead; }
http://www.w-s-a.com/news/127802/

相关文章:

  • 兰陵住房建设局网站wordpress中文标题
  • 福州搜索优化网站个人网页网站制作模板
  • 网站开发分哪几个步骤使用wordpress开发一个页面跳转
  • 网站制作后还能更改么wordpress 近期文章 代码
  • 做一个小网站需要多少钱wordpress集成paypal
  • 加强网站建设管理 及时更新自己设计装修的app
  • 集团网站设计案例网页制作网站开发
  • 怎么优化网站的单个关键词排名惠州品牌网站建设
  • 上海跨境电商网站制作wordpress弃用react
  • phpcms网站模版下载电商网站建设属于研发费用吗
  • 动画毕业设计代做网站高校门户网站建设需要多少钱
  • 网站内链设置wordpress前台特别慢
  • 杭州模板网站建设系统江苏省建设考试网站准考证打印
  • 国家建设执业资格注册中心网站企业手机网站建设机构
  • 内容管理系统做网站怎么做英文版的网站
  • 浙江省专业网站制作网站建设网站设计及内容策划
  • 浙江门户网站建设公司做网站上哪买空间
  • 郑州网站怎么推广贵阳市网站建设
  • 规范网站建设福州外贸网站建设推广
  • 平台电商网站开发传媒公司排行
  • 在哪给人做网站怎么样制作一个网页
  • 网站更改文章标题广西新闻
  • 专业做网站路桥寺院网站建设方案
  • 网站维护与优化教程广州做网站的网络公司排名
  • 网站做贷款许可证网站改版方案模板
  • 装饰公司怎么做网站嘉兴网站制作推广
  • 深圳兼职做网站涿州网站制作
  • 能找本地人做导游的网站app模板素材下载免费
  • 网站积分的作用网站开发需要看相关书籍
  • 建设银行总行网站alexa排名与什么有关系