LeetCode题解:Copy List with Random Pointer
来源:互联网 发布:100以内手指算法视频 编辑:程序博客网 时间:2024/05/21 13:57
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.
题意:给定一个链表包含一个随机的指针,指针可能指向链表中任意一个元素或者指向null,返回该list的深拷贝
思路:先复制链表中的节点,例如链表A-B-C就变成A-A-B-B-C-C,然后让复制的节点的next指向随机指针需要指向的节点,最后让原结点的随机指针指向复制结点的next对应的元素。
代码:
/** * 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) { RandomListNode iter = head, next; while(iter != null){ next = iter.next; RandomListNode copy = new RandomListNode(iter.label); iter.next = copy; copy.next = next; iter = next; } iter = head; while(iter != null){ if(iter.random != null){ iter.next.random = iter.random.next; } iter = iter.next.next; } iter = head; RandomListNode newHead = new RandomListNode(0); RandomListNode copy, copyIter = newHead; while(iter != null){ next = iter.next.next; copy = iter.next; copyIter.next = copy; copyIter = copy; iter.next = next; iter = next; } return newHead.next; }}
0 0
- LeetCode题解:Copy List with Random Pointer
- LeetCode - Copy List with Random Pointer 题解
- LeetCode: Copy List with Random Pointer题解
- leetcode - Copy List with Random Pointer题解
- LeetCode题解:Copy List with Random Pointer
- LeetCode 题解(88): Copy List with Random Pointer
- LeetCode题解——Copy List with Random Pointer
- leetcode题解-138. Copy List with Random Pointer
- leetcode题解-138. Copy List with Random Pointer
- leetcode题解-138. Copy List with Random Pointer
- 【牛客网】copy-list-with-random-pointer题解
- [leetcode][list] Copy List with Random Pointer
- Leetcode: Copy List with Random Pointer
- LeetCode: Copy List with Random Pointer
- [LeetCode] Copy List with Random Pointer
- [leetcode]Copy List with Random Pointer
- LeetCode:Copy List with Random Pointer
- leetcode Copy List with Random Pointer
- eclipse JavaEE版"javax.servlet.http.HttpServlet" was not found on the Java Build Path问题的解决办法
- LeetCode题解:Single Number II
- 悬浮DIV页面制作
- 基于Dreamweaver的网页制作学习2----站点规划及图片的插入
- spring(IOC) 对象创建时机、对象作用域scope、对象的初始化方法和销毁方法的调用、spring容器总结
- LeetCode题解:Copy List with Random Pointer
- nyoj48过河问题
- 我的博客
- reading note 2
- LeetCode题解:Word Break
- 一个命令永久禁用Win10驱动程序强制签名
- 使用jQuery、js实现必应搜索制作
- win8.1安装veket的方法
- 1050. 螺旋矩阵(25)