当前位置: 代码迷 >> 综合 >> 指针单向链表的遍历添加方法
  详细解决方案

指针单向链表的遍历添加方法

热度:99   发布时间:2024-02-20 20:42:41.0
 struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};

对于这种单向结构的指针链表,依次遍历添加,然后返回头节点。有两种方法。

1. 非递归

设置一个头指针head 和移动指针h.

ListNode head= new ListNode(0); // 头指针
ListNode h= head;               // 移动指针
...
h->next = sumNode;              // 给链表该位置赋值
h= h->next;                     // h移动指针持续向后移
return head->next;              // 因为是从h->next开始赋值的,所以最后返回head->next

2. 递归

设置一个指针ans,每次递归ans->next ,最后返回ans就是头指针。

ListNode* Recursion(ListNode* ans, ...) {ans = new ListNode(SomeNumber);ans->next = Recursion(ans->next, ...);return ans;    // 最终返回的是头指针
}

 

  相关解决方案