138. Copy List with Random Pointer
//不从head走 前面加一个dummy node 从dummy走先连head 只需记录当前节点
//这样就不需要考虑是先new node还是先找联系
//扫两遍 先建立节点和next 利用map<node*, node*>old2new 来找random
linked list 一般用while循环来建立loop
147. Insertion Sort List
//这里dummy是新插入的sorted list的头,所有节点要往其后插
//curr是插入位置的前一个节点
//从头往后扫 要记住next 以便作为下次比较的head
148. Sort List
要求O(nlogn) 用merge排序 因为quicksort不好access list的data
160. Intersection of Two Linked Lists
先判断没有交叉的情况
判断有交叉 用length差从头结点往后数 确保两条list当前node与首交node距离相等
通用判断while(headA != headB)往后走