public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode l=new ListNode();
ListNode temp=l;
int bit=0;//等于1时需要进位
while(l1!=null||l2!=null){
int sum=0;
if(l1!=null){
sum+=l1.val;
}
if(l2!=null){
sum+=l2.val;
}
sum+=bit;
bit=sum/10;
temp.next=new ListNode(sum%10);
temp=temp.next;
if(l1!=null)
l1=l1.next;
if(l2!=null)
l2=l2.next;
}
if(bit>0)
temp.next=new ListNode(bit);
return l.next;
}
/**
* 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; }
*
*/
我有个疑问,经过经过temp=l之后,两个变量指向的应该是同一个地址,为什么能用变量temp进行链表的操作,用l却不行呢?求解释
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-天际的海浪 2021-10-06 22:22关注
temp是需要循环的temp=temp.next指向下一个节点
因为最后要 return 返回 l.next 链表的头指针。所以l不能被重新指向下一个节点本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 vscode的问题提问
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类
- ¥15 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM