本文主要是介绍day-51 合并零之间的节点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路
直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可
解题过程
返回链表可以有头结点,方便插入,返回head.next
Code
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public int sum=0;public ListNode ans=new ListNode();public ListNode tans=ans;public ListNode mergeNodes(ListNode head) {traversal(head.next);return ans.next;}public void traversal(ListNode p){if(p==null) return;if(p.val==0){ListNode t=new ListNode(sum);tans.next=t;tans=tans.next;sum=0;traversal(p.next);}else{sum+=p.val;traversal(p.next);}}
}作者:菜卷
链接:https://leetcode.cn/problems/merge-nodes-in-between-zeros/solutions/2910089/he-bing-ling-zhi-jian-de-jie-dian-by-ash-gb1j/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这篇关于day-51 合并零之间的节点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!