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

上海网站建设 知名觉嘉兴网站seo

上海网站建设 知名觉,嘉兴网站seo,青海建设厅的门户网站,徐州企业网站制作24 思路 如果 pre 的后面没有节点或者只有一个节点,则没有更多的节点需要交换, 否则,通过更新节点的指针关系交换 pre 后面的两个节点, 最后,返回新的链表的头节点 dummyhead->next。 时间复杂度:O(n) 空间复杂…

24

思路

如果 pre 的后面没有节点或者只有一个节点,则没有更多的节点需要交换,

否则,通过更新节点的指针关系交换 pre 后面的两个节点,

最后,返回新的链表的头节点 dummyhead->next。

  • 时间复杂度:O(n)

  • 空间复杂度:O(1)

代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* swapPairs(ListNode* head) {ListNode *dummyhead = new ListNode(0, head);ListNode *pre = dummyhead, *cur = head, *ahead;while(pre->next!=nullptr && pre->next->next!=nullptr){ahead = cur->next;cur->next = ahead->next;ahead->next = cur;pre->next = ahead;pre = cur;cur = cur->next;}ListNode* ans = dummyhead->next;delete dummyhead;return ans;}
};

19

思路

让 fast 先移动n步,然后让 fast 和 slow 同时移动,

直到 fast 指向链表末尾,删掉slow所指向的节点。

使用虚拟头结点,方便处理删除实际头结点的逻辑,

注意空间清理。

  • 时间复杂度:O(n)

  • 空间复杂度:O(1)

代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode *dummyhead = new ListNode(0, head);ListNode *fast=head, *slow=dummyhead, *temp, *ans;while(n--){fast=fast->next;}while(fast!=nullptr){fast=fast->next;slow=slow->next;}temp=slow->next;slow->next=slow->next->next;ans = dummyhead->next;delete temp;delete dummyhead;return ans;}
};

142

思路

设链表中环外部分的长度为 a。slow 指针进入环后,又走了 b 的距离与 fast 相遇。此时,fast 指针已经走完了环的 n 圈,因此它走过的总距离为 a+n(b+c)+b=a+(n+1)b+nc。

根据题意,任意时刻,fast 指针走过的距离都为 slow 指针的 2 倍。

因此,我们有 a+(n+1)b+nc=2(a+b)⟹a=c+(n−1)(b+c)
有了 a=c+(n−1)(b+c) 的等量关系,我们会发现:从相遇点到入环点的距离加上 n−1 圈的环长,恰好等于从链表头部到入环点的距离。

因此,当发现 slow 与 fast 相遇时,我们再额外使用一个指针 ptr。起始,它指向链表头部;随后,它和 slow 每次向后移动一个位置。最终,它们会在入环点相遇。

详见官方题解:

. - 力扣(LeetCode)

时间复杂度:O(N)

空间复杂度:O(1)

代码

更更更

http://www.yayakq.cn/news/781393/

相关文章:

  • 宠物网站页面设计模板不会写程序如何建网站
  • 做会员体系的网站简要说明网站制作的基本步骤
  • 1 建设网站目的水产公司网站源码
  • 邯郸做网站外包网页设计师常逛网站
  • 建免费的网站吗五屏网站建设多少钱
  • 网站左下角广告代码网站如何三合一
  • 济宁住房和城乡建设厅网站wordpress网页教程
  • 公司网站能自己做二维码手机windows wordpress
  • 福建省建设注册执业资格管理中心网站做美剧网站侵权
  • 网站开发任务分解小程序的功能与作用
  • 部署一个网站大概多少钱wordpress做PHP
  • 做的网站如何全屏洋气的设计公司名字
  • 怎么用dw做静态网站seo怎么收费的
  • 深圳素马设计蒲城网站建设wzjseo
  • 类似+wordpress+建站网站建设开发合同范本
  • 咖啡网站建设策划书安康市网约车平台
  • 电子商务网站开发技术支持wordpress 下载超链接
  • CDN 网站是否需要重新备案广州企业建设网站
  • 互动类网站网推平台有哪些
  • 许昌市做网站公司汉狮价格做一钓鱼网站
  • 济南网站建设哪家强 资海中国网站设计
  • 卢龙建设银行官网网站加快网站平台建设
  • 前台和后台网站开发有什么区别培训学校设计
  • python 网站开发实例教程wordpress首页不显示图片
  • 做网站接广告赚钱吗仿5173网站
  • 家教网站怎么做前端做微网站
  • 大学生活动网站开发文案四川建设工程招标信息网
  • 网站在线建设方案即墨建设局网站
  • 怎么建设阿里巴巴国际网站德州北京网站建设
  • 四川住房和城乡建设九大员网站网站优化客户报表