链表操作合集
Posted 积少成多
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表操作合集相关的知识,希望对你有一定的参考价值。
链表节点定义:
class ListNode///单链表节点 { public: int val; ListNode *next; ListNode(int x): val(x),next(nullptr) {} }; struct RandomListNode{///随机链表节点 int label; RandomListNode *next,*random; RandomListNode(int x):label(x),next(nullptr),random(nullptr){} }; class TreeNode {///树节点表示 public: int val; TreeNode *left; TreeNode *right; TreeNode(int x): val(x),left(nullptr),right(nullptr){} };
就地逆置
ListNode* revOnPlace(ListNode *head) { ListNode dummy(-1);//假的头节点 ListNode *curr = head; head = &dummy; while(curr) { ListNode *tmp = curr->next; curr->next = head->next; head->next = curr; curr = tmp; } return dummy.next; }
以上是关于链表操作合集的主要内容,如果未能解决你的问题,请参考以下文章