文章目录
链表
字节等大厂面试的时候可能会要自己写题目要求的数据结构。
// 自己定义链表节点
class Node{
int val;
Node next;
Node random;
public Node(int val){
this.val = val;
// 进行初始化!
this.next = null;
this.random = null;
}
}
1.带随机指针的链表深拷贝
链表深拷贝,纯本人菜鸡手写。面试官可能并 不希望 你使用哈希表。
1.1.哈希表
/*
// Definition for a Node.
class Node {
int val;
Node next;
Node random;
public Node(int val) {
this.val = val;
this.next = null;
this.random = null;
}
}
*/
class Solution {
public Node copyRandomList(Node head) {
if(head==null) return null;
// 第一次复制 整个链表
Map<Node,Node> map = new HashMap<>();
Node res = new Node(head.val);
Node temp = head;
Node temp1 = res