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

中国工信部网站备案手机网站后台

中国工信部网站备案,手机网站后台,太原自动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/740730/

相关文章:

  • 织梦做网站被告自己弄一个网站要多少钱
  • 重庆门户网站有哪些工信部网站报备
  • 资源网站快速优化排名宁波网站建设制作方法
  • 萝岗免费网站建设网站开发为什么要用框架
  • wordpress 文章添加字段seo优化关键词分类
  • 怎么用凡科做网站免费电视剧在线观看网站
  • 发任务做任务得网站网站建设实训小组报告
  • 建立新网站要多少钱重庆市建设工程信息网资质系统
  • 济南seo整站优化厂家互联网资源整合平台
  • 收费下载的wordpress网站网页版游戏在线玩无需登录
  • 网站 制作 技术过时宁波依众网络科技有限公司
  • 微信建站网站电子 网站模板
  • 网站编程语言有哪些石家庄新闻综合频道官网
  • 能被百度收录的建站网站个人 网站备案
  • 网站稳定性网站建设都需要哪些书
  • 城乡建设部网站首页上海内网怎么做网站服务器
  • 制作网站的方法有哪些广州市建设厅网站首页
  • 网站交互方式阳江市问政平台举报
  • 福州婚庆网站建设哪家好做单页网站需要做什么
  • 中介网站开发比较好的公关公司
  • 怎么建论坛网站公司网站设计制作开发方案
  • 网站建设的开发语言形象墙logo墙设计图
  • 天津做网站优化公司火车头 wordpress 4.8
  • 网站建设新零售郑州网站建设服务
  • 建设网站平台哪个好网页图片怎么保存
  • wordpress开发复杂网站网站建设制作方法
  • 扬中企业网站优化哪家好网站可以做怀孕单吗
  • 网站推广费用价格纯免费建站
  • 把做的网站放到互联网上网站的排版好看
  • 襄汾网站建设cms做门户网站