怎样让LinkList节点跳过循环并移至下一个参数

来源:爱站网时间:2021-11-03编辑:网友分享
怎样让LinkList节点跳过循环并移至下一个参数?这个问题曾经有朋友问过爱站技术小编,今天小编也遇到了这个问题,于是整理出了一份资料给大家参考,希望能帮助到大家。

问题描述


我正在尝试练习leetcode示例。输入-[2,4,3][5,6,4]

预期输出为= [7,0,8]; (2 + 5,4 + 6,3 + 4 + 1(从节点2继承1));我得到的是[7,8];

q.next和p.next-跳过第二个节点的加法,仅对第一个和第三个节点进行加法。我不明白为什么第二个节点被跳过。

public class ListNode {
    int val;
    ListNode next;
    ListNode(int x) { val = x; }
}

class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode extra = new ListNode(0);
        ListNode p = l1 , q = l2, curr = extra;
        int carry = 0;
        while(p != null || q != null)
        {
            int x = (p != null) ? p.val :0 ;
            int y = (q != null) ? q.val :0 ;
            int sum = carry + x + y ;
            carry = sum / 10;
            curr.next = new ListNode(sum % 10);
            p=p.next;
            q=q.next;
            if(p != null)p = p.next;
            if(q != null)q = q.next;
        }
        if(carry > 0)
        {
            curr.next = new ListNode(carry);
        }
        return curr;
    }
}

思路:


您有多余的人

p = p.next 
q = q.next

这会跳过奇数索引(从0开始)。仅应将其删除

if(p != null)p = p.next;
if(q != null)q = q.next;

就足够

以上内容就是爱站技术频道小编为大家分享的怎样让LinkList节点跳过循环并移至下一个参数,看完以上分享之后,大家应该都知道怎么操作了吧。

上一篇:如何在Java中使用密钥库来存储私钥?

下一篇:String如何验证空间[重复项]

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载