2024/8/24 LeetCode Hot100 LinkedList以及8.25的每日一题(尚未完成)
This commit is contained in:
parent
c6d8c26bfd
commit
e534a5f996
|
@ -0,0 +1,20 @@
|
||||||
|
package com.cool.hot100.linkedlist;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created with IntelliJ IDEA.
|
||||||
|
*
|
||||||
|
* @Author: Cool
|
||||||
|
* @Date: 2024/08/24/23:22
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
public class Node {
|
||||||
|
int val;
|
||||||
|
Node next;
|
||||||
|
Node random;
|
||||||
|
|
||||||
|
public Node(int val) {
|
||||||
|
this.val = val;
|
||||||
|
this.next = null;
|
||||||
|
this.random = null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.cool.hot100.linkedlist;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created with IntelliJ IDEA.
|
||||||
|
*
|
||||||
|
* @Author: Cool
|
||||||
|
* @Date: 2024/08/24/23:21
|
||||||
|
* DayNumber 1
|
||||||
|
* Hard 2
|
||||||
|
*/
|
||||||
|
public class Num138 {
|
||||||
|
|
||||||
|
Map<Node, Node> cacheMap = new HashMap<>();
|
||||||
|
|
||||||
|
public Node copyRandomList(Node head) {
|
||||||
|
//ans1
|
||||||
|
// head = copyNode(head);
|
||||||
|
// return head;
|
||||||
|
//ans2
|
||||||
|
if(head==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
for (Node node=head;node!=null;node=node.next.next){
|
||||||
|
Node newNode = new Node(node.val);
|
||||||
|
newNode.next=node.next;
|
||||||
|
node.next=newNode;
|
||||||
|
}
|
||||||
|
for (Node node=head;node!=null;node=node.next.next){
|
||||||
|
Node newNode = node.next;
|
||||||
|
newNode.random= node.random==null?null:node.random.next;
|
||||||
|
}
|
||||||
|
Node newHead=head.next;
|
||||||
|
for(Node node=head;node!=null;node=node.next){
|
||||||
|
Node newNode=node.next;
|
||||||
|
node.next=node.next.next;
|
||||||
|
newNode.next=newNode.next==null?null:newNode.next.next;
|
||||||
|
}
|
||||||
|
return newHead;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Node copyNode(Node node) {
|
||||||
|
if (node == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (cacheMap.containsKey(node)) {
|
||||||
|
node = cacheMap.get(node);
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
Node copyNode = new Node(node.val);
|
||||||
|
cacheMap.put(node, copyNode);
|
||||||
|
copyNode.next = copyNode(node.next);
|
||||||
|
copyNode.random = copyNode(node.random);
|
||||||
|
return copyNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.cool.one_question_per_day;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created with IntelliJ IDEA.
|
||||||
|
*
|
||||||
|
* @Author: Cool
|
||||||
|
* @Date: 2024/08/25/1:43
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
public class LeetCode20240825 {
|
||||||
|
|
||||||
|
public int findPermutationDifference(String s, String t) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue