剑指offer上面的题目
代码:
public RandomListNode copyRandomList(RandomListNode head) { // Note: The Solution object is instantiated only once and is reused by each test case. cloneNode(head); cloneRandom(head); return patitionClone(head); } public void cloneNode(RandomListNode head){ RandomListNode p = head; RandomListNode r; while(p!=null){ RandomListNode node = new RandomListNode(p.label); r = p.next; p.next = node; node.next = r; p = r; } } public void cloneRandom(RandomListNode head){ RandomListNode p = head; RandomListNode clone; while(p!=null){ clone = p.next; if(p.random!=null) clone.random = p.random.next; p = clone.next; } } public RandomListNode patitionClone(RandomListNode head){ if(head==null) return null; RandomListNode cloneHead = head.next; RandomListNode p = head; RandomListNode q = cloneHead; RandomListNode r = head.next.next; RandomListNode temp; while(r!=null){ p.next = r; p = q; q = r; r = r.next; } p.next = null;//之前的错误都是这个啊,一定要记得呐。。 return cloneHead; }
相关推荐
python python_leetcode题解之138_Copy_List_with_Random_Pointer
javascript js_leetcode题解之138-copy-list-with-random-pointer.js
leetcode中文版 LeetCode/Cpp ...138.Copy List with Random Pointer LeetCode 142.Linked List Cycle II(solve1) LeetCode 142.Linked List Cycle II(solve2) LeetCode 160.Intersection of Two Linke
dna匹配 leetcode leetcode刷题--C++ 哈希表 Longest Substring ...Pointer 单链表 map Max Points on a Line 斜率 map, int> Fraction to Recurring Decimal map long long 正负号 Repeated DNA S
两两认识leetcode 使用随机指针复制链表 给出一个链表,使得每个节点都包含一个额外的随机指针,该指针可以指向链表中的任何节点或为空。 返回列表的深层副本。 链表在输入/输出中表示为 n 个节点的列表。 每个节点...
* [Linked List](https://github.com/kamyu104/LeetCode#linked-list) * [Stack](https://github.com/kamyu104/LeetCode#stack) * [Queue](https://github.com/kamyu104/LeetCode#queue) * [Heap]...
多线程 leetcode 前言 每天刷点leetcode,基于java语言实现。...Copy List with Random Pointer Building H2O Fizz Buzz Multithreaded hard Merge k Sorted Lists Reverse Nodes in k-Group Trapping Rain Water
24. Copy List with Random Pointer:复制带有随机指针的链表。 【二叉树】 25. Validate Binary Search Tree:验证二叉搜索树。 26. Maximum Depth of Binary Tree:计算二叉树的最大深度。 27. Minimum Depth of ...
- **Copy List with Random Pointer**:复制带有随机指针的链表。 8. **数学(Math)**: - **Reverse Integer**:反转一个整数。 9. **字符串(String)**: - **Add Binary**:将两个二进制数相加。 - **...
Copy List with Random Pointer, Populating Next Right Pointers in Each Node I && II) PIE (未录入) CC150 (未录入) EPI (未录入) 每一个题库对应problems路径下的一个文件夹,每一个题目对应相应题库下的一个...
7. **Copy List with Random Pointer**:这是一个涉及链表和深度复制的复杂问题。需要理解链表结构,并能创建一个新的链表,同时保留原链表的随机指针。 8. **Word Ladder II**:这是一个词链问题,涉及到广度优先...
**1.10 Copy List with Random Pointer (138)** - **问题描述**:给定一个带有随机指针的链表,复制该链表。 - **解题思路**: - 遍历链表,在每个节点后面插入一个新节点。 - 再次遍历链表,更新新节点的随机...
preorder-traversal链表reorder-list链表linked-list-cycle-ii链表linked-list-cycle动态规划word-break-ii动态规划word-break链表copy-list-with-random-pointer复杂度single-number-ii复杂度single-number动态规划
- 有难度的链表题目则要求合并K个有序链表(Merge K Sorted Lists)、复制带有随机指针的链表(Copy List with Random Pointer)。 **二叉树(Binary Tree)** 二叉树是另一个重要的数据结构。LeetCode的题目涵盖了...
- **2.2.10 Copy List with Random Pointer** - 复制一个带随机指针的链表。 - 实现思路:先复制链表中的每个节点,并将其插入到原节点后面,然后再处理随机指针。 #### 五、编写规范 - **单一文件编码**:由于...
copy-list-with-random-pointer 复杂度 single-number 动态规划 candy 贪心 gas-station 动态规划 palindrome-partitioning-ii 动态规划 triangle 树 sum-root-to-leaf-numbers 动态规划 distinct-subsequences 递归...
- **复制带随机指针的链表(Copy List with Random Pointer)**: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点,复制这个链表。 ##### 数学(Math) - **反转整数...
24. Copy List with Random Pointer:复制含有随机指针的链表。 四、二叉树 25. Validate Binary Search Tree:验证二叉搜索树的合法性。 26. Maximum Depth of Binary Tree:二叉树的最大深度。 27. Minimum Depth...