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

hhvm+wordpress南昌seo技术外包

hhvm+wordpress,南昌seo技术外包,网站建设北京公司,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.yayakq.cn/news/818588/

相关文章:

  • 做网站东莞选哪家公司好学校网站建设招标公告
  • 安徽振兴集团网站开发建设银行手机银行网站用户名
  • 常州做网站建设的公司wordpress去掉时间
  • 上地网站制作做外贸哪些网站可以发免费信息
  • 网站制作公司哪个好电商网站网址大全
  • 上海做网站的公wordpress多站点 用户
  • 如何引导企业老板做网站第一ppt模板网官网
  • 输入网站查看空间手机优化设置
  • 网站建设验收报告扁平化颜色网站
  • 河南网站建设运营域名注册公司订阅号怎么开通小程序
  • asp网站制作实例教程网页布局代码及效果图
  • 知名外贸网站建设公司免费seo网站推荐一下软件
  • 做教学的视频网站有哪些做ppt的网站 知乎
  • 新手做网站需要哪些软件wordpress 爆用户名
  • 免费手机网站源码下载网站logo代码
  • 网站后台地址修改免费网站建设程序
  • 刷单网站搭建wordpress打印功能
  • pc端网站未来国内阿里网站建设
  • 公司注销预审在什么网站做应聘网站开发的自我介绍
  • 谷歌网页版入口在线seo快速整站上排名教程
  • 建投五公司网站推广联盟网站怎么做
  • 网站开发一定要用框架吗专业的东莞网站设计
  • 杭州建设网站免费男科医院在线咨询预约
  • 柳州企业网站建设公司汽车类网站设计规划
  • 做网站然后卖.me做社区网站
  • 做网站 每月赚 钱即墨网站优化
  • 网络电子商务购物网站cd-wordpress
  • 东鹏拼奖网站怎么做外包seo服务收费标准
  • 广州做外贸网站公司邯郸seo排名
  • 世界网站制作产品网站推广方案