怎样让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节点跳过循环并移至下一个参数,看完以上分享之后,大家应该都知道怎么操作了吧。