2181. 合并零之间的节点

2181. 合并零之间的节点


题目链接:2181. 合并零之间的节点

代码如下:

cpp 复制代码
/**
 * 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* Head=new ListNode();  
       ListNode* p=Head;

       while(head!=nullptr)
       {
            if(head->val==0)
            {
                head=head->next;
                int sum=0;
                while(head&&head->val!=0)
                {
                    sum+=head->val;
                    head=head->next;
                }
                if(sum==0)
                {
                    continue;
                }
                ListNode* node=new ListNode(sum);
                p->next=node;
                p=node;
            }
       }
       return Head->next;
    }
};
相关推荐
WBluuue22 分钟前
Codeforces 1076 Div3(ABCDEFG)
c++·算法
u01092727134 分钟前
模板编译期排序算法
开发语言·c++·算法
m0_686041611 小时前
C++中的适配器模式变体
开发语言·c++·算法
恒者走天下1 小时前
cpp c++辅导星球价格调整
c++
rainbow68892 小时前
VSCode配置C/C++环境全攻略
c++
naruto_lnq2 小时前
C++中的桥接模式
开发语言·c++·算法
j445566112 小时前
C++中的职责链模式高级应用
开发语言·c++·算法
WarmSword2 小时前
mac上用cursor/vscode调试root权限进程
c++·ide·vscode·macos·mac
m0_736919102 小时前
模板元编程性能分析
开发语言·c++·算法
wbs_scy3 小时前
C++11:类新功能、lambda与包装器实战
开发语言·c++