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

电子商务网站的建设和维护网站google搜索优化

电子商务网站的建设和维护,网站google搜索优化,网站全站开发,自己做公司网站难吗题目描述 给你一个链表的头节点 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.hengruixuexiao.com/news/15928.html

相关文章:

  • 传统网站设计seo教程免费
  • 三把火科技网站设计杭州正规引流推广公司
  • 什么主题的网站容易做点seo公司官网
  • 互联网网站制作电商平台怎么搭建
  • 建设企业查询网站11月将现新冠感染高峰
  • 北京房山区住房和城乡建设委员会网站怎么seo关键词优化排名
  • 游戏类网站备案需要前置审批吗seo1现在怎么看不了
  • 长沙网站开发培训网店代运营哪个好
  • wordpress seo技巧seo相关ppt
  • 黑龙江建设教育信息网站首页百度投票人气排行榜入口
  • 学做饼干网站网络营销方案ppt
  • 网站流量怎么赚钱全国疫情高峰感染高峰
  • 做高端生活方式的网站百度指数怎么下载
  • 网络传媒有限公司百度seo软件优化
  • 网站制作企业首页静态网页设计与制作
  • 和网站建设相关的行业怎么开网店
  • 广州做包包的网站沙坪坝区优化关键词软件
  • 网站规划建设与管理维护课后答案wordpress外贸独立站
  • 建筑工程网站哪个好百度百科词条入口
  • 备案网站公共查询系统5g影讯5g天线在线观看免费视频
  • 上海劳务市场招聘信息查询常见的系统优化软件
  • 做网站的软件是什么网络营销考试答案
  • 高端产品网站建设市场调研分析报告怎么写
  • 做跨境电商网站报价百度首页纯净版怎么设置
  • wordpress 签到 积分网站优化关键词排名
  • 中介网站怎么做上海优化网站
  • 建一个公司网站多少钱?网络营销方案
  • 山石网站超市收录查询api
  • 畔游网站建设seo教程 百度网盘
  • 抽奖怎么做网站seo教学实体培训班