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

网站开发好吗个人网页怎么制作

网站开发好吗,个人网页怎么制作,图片链接生成网站,工厂网站建设公司一.两数相加 1.1题目描述 1.2题解思路 定义两个指针l1,l2依次遍历两个链表,用变量add存储l1加l2的值,将add的个位数取出来充当新节点的值,然后将add的个位数删去,即add /10,循环此操作。 重点分析: 1.跟…

一.两数相加

1.1题目描述

1.2题解思路

定义两个指针l1,l2依次遍历两个链表,用变量add存储l1加l2的值,将add的个位数取出来充当新节点的值,然后将add的个位数删去,即add /=10,循环此操作。

重点分析:

1.跟归并排序中合并两个有序数组类似,当两个链表并不是一样长,其中一个链表并没有遍历完!!!

2.当两个链表都遍历完之后,如果add的值为1,则需要再增加一个节点,它的值为1.

1.3.题解代码

class Solution {
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {int add = 0;ListNode* newhead = new ListNode(-1);//创建虚拟头结点ListNode* cur = newhead;while(l1 && l2){add += l1->val + l2->val;ListNode* tmp = new ListNode(add%10);//将个位存进去add /= 10;cur->next = tmp;l1 = l1->next;l2 = l2->next; cur = cur->next;}while(l1){add += l1->val;ListNode* tmp = new ListNode(add%10);add /= 10;cur->next = tmp;l1 = l1->next;cur = cur->next;}while(l2){add += l2->val;ListNode* tmp = new ListNode(add%10);add /= 10;cur->next = tmp;l2 = l2->next; cur = cur->next;}//判断边界情况if(add == 1){ListNode* tmp = new ListNode(1);cur->next = tmp;cur = cur->next;}return newhead->next;}
};

二.两两交换链表中的节点

2.1题目描述

2.2题解思路

首先添加虚拟头结点,遍历这个链表,定义四个指针,prev,cur,next,nnext,模拟实现两个相邻链表翻转,然后更新prev,cur,next,nnext,循环此操作

重点分析:

1.当给的链表为空或者只有一个数据时,直接返回。

2.循环结束条件,当是偶数个数字时,cur!=nullptr,当是奇数个数字时,next != nullptr。

2.3题解代码

class Solution {
public:ListNode* swapPairs(ListNode* head) {if(!head || !head->next) return head;ListNode* newhead = new ListNode(-1);//虚拟头节点newhead->next = head;ListNode* prev = newhead,*cur = prev->next,*next = cur->next,*nnext = next->next;while(cur && next){prev->next = next;next->next = cur;cur->next = nnext;prev = cur;cur = nnext;if(cur )next = cur->next;if(next) nnext = next->next;}return newhead->next;}
};

三.重排链表

3.1题目描述

3.2题解思路

1.找到链表的中间节点(快慢双指针)

2.将第二个链表逆序(头插法)

注意区分开curnext与cur->next,tmpnext与tmp->next

3.合并两个链表

注意需要把第一个链表的最后一个节点的next置空

3.3题解代码

class Solution {
public:void reorderList(ListNode* head) {if(!head->next || !head->next->next) return;        ListNode* newhead = new ListNode(-1);//添加虚拟头结点            //找到链表的中间节点(快慢双指针)    ListNode* q1 = head,*q2 = head;while( q2->next && q2->next->next){q1 = q1->next;q2 = q2->next->next;}//反转q1后面的节点(头插法)ListNode* tmp = new ListNode(-2);ListNode* cur = q1->next,*curnext = cur->next,*tmpnext = tmp->next;while(cur){cout<<cur->val;//头插tmp->next = cur;cur->next = tmpnext;//更新指针cur = curnext;if(cur) curnext = cur->next;tmpnext = tmp->next;}//合并两个链表q1->next = nullptr;//注意!!!ListNode* cur1 = head,*cur2 = tmp->next;cur = newhead;while(cur1 || cur2){if(cur1){cur->next = cur1;cur1 = cur1->next;cur = cur->next;cur->next = nullptr;}if(cur2){cur->next = cur2;cur2 = cur2->next;cur = cur->next;cur->next = nullptr;}}}
};

http://www.dtcms.com/wzjs/137453.html

相关文章:

  • 海外网站seo温州seo按天扣费
  • 网站品牌建设百度权重1
  • ui做网站流程百度关键词快速排名方法
  • 电脑自带做网站的软件新手销售怎么和客户交流
  • 平台类网站建设价格表挖掘关键词的工具
  • 个人如何做问答类网站营销培训
  • 东莞建设工程公司seo优化包括哪些内容
  • wordpress 代码文章网站推广优化网址
  • 网站建设与维护期末考试题今日军事新闻头条
  • 台州本地做网站的网站推广的目的
  • 家政网站制作谷歌官网登录入口
  • 公司门户网站什么意思怎么做一个网站页面
  • 最好好看的中文字幕友链对网站seo有帮助吗
  • 企业品牌推广价格seo工程师是什么职业
  • 山西推广型网站制作精准网络推广
  • 南京列表网免费发布信息淘宝seo优化是什么
  • 全定制网站开发班级优化大师免费下载电脑版
  • 人和做网站优秀网页设计公司
  • 网站 公众号 建设方案怎样才能注册自己的网站
  • 怎样看网站是什么语言做的网站制作报价
  • 宠物网站 html模板营销策划思路及方案
  • 吴桥县网站建设公司全球搜钻是什么公司
  • 哪个网站反盗版做的最好个人可以做推广的平台有哪些
  • 深圳网站建设设地推十大推广app平台
  • 二级建造师考试试题关键词优化心得
  • 有网站了小程序怎么做旺道seo优化软件怎么用
  • 永州网站建设收费标准搜索引擎广告投放
  • 怎么做短链接网站编程培训机构加盟哪家好
  • 自己做内部网站营销型网站建设怎么做
  • 郑州网站建设开拓者百度搜索风云榜单