Copy List with Random Pointer
来源:互联网 发布:微信检测僵尸粉源码 编辑:程序博客网 时间:2024/05/17 01:23
A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.
Return a deep copy of the list.
/** * Definition for singly-linked list with a random pointer. * class RandomListNode { * int label; * RandomListNode next, random; * RandomListNode(int x) { this.label = x; } * }; */public class Solution { public RandomListNode copyRandomList(RandomListNode head) { if(head == null) { return head; } HashMap<RandomListNode, RandomListNode> map = new HashMap<RandomListNode, RandomListNode>(); RandomListNode p = head; while(p != null) { RandomListNode node = new RandomListNode(p.label); map.put(p, node); p = p.next; } p = head; while(p != null) { RandomListNode matchNode = map.get(p); matchNode.next = null; matchNode.random = null; if(p.next != null) { matchNode.next = map.get(p.next); } if(p.random != null) { matchNode.random = map.get(p.random); } p = p.next; } return map.get(head); }}
0 0
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- Copy List with Random Pointer
- 【 vb2_buffer_state】 v4l2 videobuf的几种状态
- 黑马程序员—编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, *程序计算这一天是星期几,并且计算出是一年中的第几天。 */
- IOS 点击键盘以外的地方收起键盘
- Android 上层电量管理统计
- 毛泽东的功绩只有聪明人才能看到,所以我鄙视那些整天怀念毛时代的人
- Copy List with Random Pointer
- java.lang.Exception: Socket bind failed: [730048] tomcat已启动后无法关掉
- hibernate 生成表时不能父类的字段一起生成
- WMS/ERP/CRM系统自结
- 结构体、联合体和枚举类型
- php获取ip地址
- CSS伪类
- 2013年终总结
- structs2 action向jsp传递list