单向链表
C++
struct Node {
int value;
Node *next;
Node() : value(0), next(nullptr) {}
Node(int x) : value(x), next(nullptr) {}
Node(int x, Node *next) : value(x), next(next) {}
};
Java
class Node{
public int value;
public Node next;
public Node(int value){
this.value = value;
}
}
双向链表
C++
struct Node {
int value;
Node *next;
Node *pre;
Node() : value(0), next(nullptr), pre(nullptr) {}
Node(int x) : value(x), next(nullptr), pre(nullptr) {}
Node(int x, Node *next, Node *pre) : value(x), next(next), pre(pre) {}
};
Java
class Node{
public int value;
public Node next;
public Node pre;
public Node(int value){
this.value = value;
}
}
- 找到链表的第一个入环节点,如果无环,返回 NULLSep 5, 2023
- 两个链表都无环,返回第一个相交节点,如果不相交,返回 NULLSep 5, 2023
- 两个有环链表,返回第一个相交节点,如果不相交返回 NULLSep 5, 2023
- 判断两个单向链表是否相交Sep 5, 2023
- 判断链表是否为回文结构Sep 2, 2023
- 将单向链表按某值划分成左边小、中问相等、右边大的形式Sep 2, 2023
- 给定一个由Node节点类型组成的无环单链表的头 节点 head, 请实现一个函数完成这个链表的复制,并返回复制的新链表的头节点。Sep 2, 2023
- 快慢指针法Sep 2, 2023
- 如何反转链表?Aug 16, 2023
- 如何删除链表指定值?Aug 16, 2023