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

wordpress 小工具 不显示魔方优化大师官网下载

wordpress 小工具 不显示,魔方优化大师官网下载,网络营销方式对比分析,网站开发完成如何上线题目描述 给你一个链表的头节点 head ,该链表包含由 0 分隔开的一连串整数。链表的 开端 和 末尾 的节点都满足 Node.val 0 。 对于每两个相邻的 0 ,请你将它们之间的所有节点合并成一个节点,其值是所有已合并节点的值之和。然后将所有 0 …

题目描述

给你一个链表的头节点 head ,该链表包含由 0 分隔开的一连串整数。链表的 开端 和 末尾 的节点都满足 Node.val == 0 。

对于每两个相邻的 0 ,请你将它们之间的所有节点合并成一个节点,其值是所有已合并节点的值之和。然后将所有 0 移除,修改后的链表不应该含有任何 0 。

返回修改后链表的头节点 head 。

示例 1:

输入:head = [0,3,1,0,4,5,2,0]
输出:[4,11]
解释:
上图表示输入的链表。修改后的链表包含:
- 标记为绿色的节点之和:3 + 1 = 4
- 标记为红色的节点之和:4 + 5 + 2 = 11

示例 2:

输入:head = [0,1,0,3,0,2,2,0]
输出:[1,3,4]
解释:
上图表示输入的链表。修改后的链表包含:
- 标记为绿色的节点之和:1 = 1
- 标记为红色的节点之和:3 = 3
- 标记为黄色的节点之和:2 + 2 = 4

提示:

  • 列表中的节点数目在范围 [3, 2 * 10^5] 内
  • 0 <= Node.val <= 1000
  •  存在连续两个 Node.val == 0 的节点
  • 链表的 开端 和 末尾 节点都满足 Node.val == 0

思路

这是一道字符串模拟题,我们需要模拟合并的过程。首先,为链表添加一个虚拟头节点,定义pre指针用来记录结果链表的最后一个节点,初始是虚拟头节点,定义cur指针来遍历链表。如果下一个节点的值不是0,就将上一个节点的值加到下一个节点上。如果下一个节点的值是0,就将本节点连接到结果链表上,因为本节点的值已经是本段链表的值之和。最后再去除末尾的含0节点即可。

时间复杂度:O(n)

空间复杂度:O(1)

代码

C++版:

/*** 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* mergeNodes(ListNode* head) {ListNode* dummmyHead=new ListNode();ListNode* pre=dummmyHead;ListNode* cur=head->next;ListNode* tmp;while(cur->next!=nullptr){// 下一个节点的值不是0,让下一个节点的值加上当前节点的值if(cur->next->val!=0){cur->next->val+=cur->val;}else{ // 下一个节点的值是0,让pre->next=cur;pre=pre->next;}// 记录最后一个含0的节点的前一个节点if(cur->next->next==nullptr){tmp=cur;}cur=cur->next;}// 还需要去除最后一个含0的节点tmp->next=nullptr;return dummmyHead->next;}
};

Python版:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def mergeNodes(self, head: Optional[ListNode]) -> Optional[ListNode]:dummyHead=ListNode()pre=dummyHeadcur=head.nexttmp=Nonewhile cur.next!=None:if cur.next.val!=0:cur.next.val+=cur.valelse :pre.next=curpre=pre.nextif cur.next.next==None:tmp=curcur=cur.nexttmp.next=Nonereturn dummyHead.next

需要注意的地方

1.本题容易忽略最后一个节点也是含0节点,需要删除最后一个节点。

http://www.15wanjia.com/news/22872.html

相关文章:

  • 南通网站建设电话上海专业的seo公司
  • 网站后台登陆显示验证码错误外贸推广如何做
  • 免费的素材库视频无水印seo自学教程seo免费教程
  • 镇江市网站建设怎样进行seo优化
  • 江苏盐城建筑公司网站南通网络推广
  • 重庆涪陵网站设计公司哪家专业精准营销策略都有哪些
  • 网站建设的话术百度一下首页百度
  • 线上营销和线下营销的区别关键词怎么优化
  • 新站网站收录减少上海网站优化
  • 没钱怎么做网站百度人工服务24小时热线电话
  • 石材网站源码百度信息流投放
  • 优惠券的网站怎么做汕头seo推广
  • 政府网站排版线上推广是做什么的
  • wordpress网站网页加密线上推广的方式
  • wordpress 小说站免费广告投放平台
  • 一天能免费看3次的appseo页面优化技术
  • 怎么做微网站新版阿里指数官网
  • 做色情诱导网站网站收录一般多久
  • 浙江省建设厅网站在哪里郑州网络营销推广
  • 网站建设毕业设计模板网络运营
  • 网站开发前端与后端搜索引擎调词平台哪个好
  • 网站开发一般需要多久小程序如何推广运营
  • 广州移动 网站建设百度热搜榜在哪里看
  • 小地方网站建设公司百度关键词优化曝光行者seo
  • 北京icp网站备案西安网
  • 交警队内部网站建设济南网站制作
  • 动态logo在线制作seo优化系统
  • 做网站建设话术培训体系
  • 网站发布方式有哪些seo咨询常德
  • 网站建设费做什么会计科目seo检测