首页 > 其他分享 >两个链表相加,翻转链表

两个链表相加,翻转链表

时间:2023-03-29 20:01:53浏览次数:35  
标签:head cur head1 相加 next 链表 null 翻转

将两个链表进行翻转,然后遍历链表进行相加

翻转链表:

reverseList(head){

pre = null;//将遍历到的节点放在这个空节点的前面

cur = head;

while(cur != null){

  temp  = cur.next;//断开链表前,存一下下一个节点

  cur.next  = pre;

  pre = cur;

  cur = pre;

  }

return pre;

遍历相加:

add(head1,head2){

  head1 = reverseList(head1);

  head2 = reverseList(head2);

  res = new Node(-1);

  new head = res;

  记录进位

  int carry = 0;

  while(head1 != null || head != null || carry != 0){

    int val1 = (head1 == null)?0:head1.val;

    同理val2

    int temp = val1 + val2 + carry;

    carry = temp/10;

    temp %= 10;

    head.next = new Node(temp);

    head = head.next; 

    if(head1 != null){head1 = head1.next}

    if(head2 != null){head2 = head2.next}

  }  

return reverseList(head);

 

标签:head,cur,head1,相加,next,链表,null,翻转
From: https://www.cnblogs.com/materialdog/p/17270033.html

相关文章

  • HJ48_从单向链表中删除指定值的节点_单向链表
    自定义类型链表:用链表的方式实现链表的生成、插入和删除。思路:需要两个class,一个为node,用与生成节点,一个为linklist,用于定义节点操作以及初始化head头节点。因为单向链......
  • 删除链表的第N个节点|栈、双指针
    删除链表的倒数第N个节点类似于删除链表中的第N个节点,但是这里是倒数第N个且不知道链表的长度,如果用删除第N个节点的方法去解决问题的时候需要先知道链表的长度。这就需......
  • 两两交换链表中的节点|递归
    两两交换链表中的节点链表中每两两相邻的节点将其对调位置,涉及的主要操作位交换节。但需要注意初始位置的交换即返回值,以及奇数个节点的处理方法,这里给出两种方法,迭代和......
  • 环形链表|哈希、快慢指针
    环形链表判断一个链表中是否有环,如果有返回环的起始位置。难点有两个,一是判断是否有环,二是找到起始点。这里有两种方法,一种是哈希集,另一种是快慢指针。对应题目142.环......
  • 反转链表|递归
    反转链表将链表反转过来,可以对比反转数组,但是链表由于不知道链表大小所以反转数组的方法在这里会变得复杂。这里有两种方法,双指针和递归法。对应题目206.反转链表......
  • 双循环链表 by lyx
    #include<iostream>usingnamespacestd;template<classT>structDblNode{  Tdata;  DblNode<T>*lLink,*rLink;  DblNode(DblNode<T>*l=NULL,DblNod......
  • 链表的遍历
    练习1:一组整数已存放在带头结点的单链表中,设计算法,求结点值小于结点平均值的结点个数,并通过函数值返回结果。 #include<stdio.h>#include<stdlib.h>typedefstructnode{......
  • 数据结构-->单链表OJ题--->讲解_05
    本期我们讲解:>1.给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前本题的思路是创建两个链表,通过比较,一个存放小于x的结点的链表,另一个存放大于......
  • 数据结构-->单链表OJ题--->讲解_04
    本期我们讲解一道:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表所有结点组成的。现附上图示样例:现在上手代码:>SLTNode*CombineLists(S......
  • 快慢指针-leetcode141-判断链表中是否有环。
    LeetCode#141题目描述:给定一个链表,判断链表中是否有环。如果链表中存在环,则返回true。否则,返回false。进阶:你能用O(1)(即,常量)内存解决此问题吗?示例1:example1......