[LeetCode]Copy List with Random Pointer
2015-05-16 15:35
471 查看
题意:这个题目也是个蛮有意思的题目,就是对一个有随机指针的链表进行深拷贝,
思路:简单地来说就是递归拷贝,然后呢防止重复拷贝,所以凡是拷贝过得内存地址都得记录下来
代码:
思路:简单地来说就是递归拷贝,然后呢防止重复拷贝,所以凡是拷贝过得内存地址都得记录下来
代码:
Map<RandomListNode, RandomListNode> m = new HashMap<RandomListNode, RandomListNode>(); //保存已经copy的部分 public RandomListNode copyRandomList(RandomListNode head) { RandomListNode rList = null; if(head == null) return rList; else { rList = new RandomListNode(head.label); m.put(head, rList); if(m.get(head.next) != null){ rList.next = m.get(head.next); }else rList.next = copyRandomList(head.next); if(m.get(head.random) != null) { rList.random = m.get(head.random); }else rList.random = copyRandomList(head.random); } return rList; }
相关文章推荐
- 【LeetCode】-Copy List with Random Pointer
- [LeetCode]Copy List with Random Pointer
- leetcode — copy-list-with-random-pointer
- 【LeetCode-面试算法经典-Java实现】【143-Copy List with Random Pointer(有随机指针的链表复制)】
- 138 Copy List with Random Pointer [Leetcode]
- 【LeetCode】Copy List with Random Pointer
- leetcode--011 copy list with random pointer
- leetcode做题总结,题目Copy List with Random Pointer 2013/10/03
- [leetcode]Copy List with Random Pointer
- leetcode 149: Copy List with Random Pointer
- leetcode — copy-list-with-random-pointer
- LeetCode--copy-list-with-random-pointer
- Copy List with Random Pointer -- leetcode
- Leetcode 138 Copy List with Random Pointer
- 【leetcode】Copy List with Random Pointer
- LeetCode(Copy List with Random Pointer) 复杂链表的深拷贝
- LeetCode(138)Copy List with Random Pointer
- [LeetCode]Copy List with Random Pointer
- LEETCODE: Copy List with Random Pointer
- [LeetCode]Copy List with Random Pointer