复杂链表的复制
来源:互联网 发布:模拟美股软件 编辑:程序博客网 时间:2024/04/30 07:06
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。
将原来的链表的每个节点都复制到其后面的那个节点,然后将复制节点的random指针指向原来节点的random.next就行,然后从这个链表中分离出两个链表
/*public class RandomListNode { int label; RandomListNode next = null; RandomListNode random = null; RandomListNode(int label) { this.label = label; }}*/public class Solution { public RandomListNode Clone(RandomListNode pHead) { if(pHead == null)return null ; RandomListNode p = pHead ; while(p != null){ RandomListNode q = new RandomListNode(p.label) ; RandomListNode next = p.next ; p.next = q ; q.next = next ; p = next ; } p = pHead ; while(p != null){ RandomListNode q = p.next ; if(p.random != null){ q.random = p.random.next ; } p = p.next.next ; } p = pHead ; RandomListNode root = p.next ; RandomListNode q = root ; while(p != null){ p.next = q.next ; p = p.next ; if(p == null){ break ; } RandomListNode next = q.next.next ; q.next = next; q = next ; } return root ; }}
0 0
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- 复制复杂的链表
- 复杂链表的复制
- 复杂链表的复制
- 复杂链表的复制
- Linux目录学习Q&A
- BFC(格式化上下文)
- VPN服务基础理论学习
- Android 源码分析之okhttp3(builder二)
- 6.1.2
- 复杂链表的复制
- Python模块——random
- WeChat 聊天记录从一台手机转移到另外一台手机的注意事项
- servlet总概述
- 圣诞节,哪里的女生最幸福——由京东评论看幸福指数
- 常用正则表达式大全
- JavaScript教程之快速入门
- 提高公众账号的阅读率的窍门
- Java拾遗