[算法]复杂链表的复制
2023-09-11 14:16:50 时间
题目描述
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
思路
遍历链表即可,注意null的判断。
代码
/* 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 node = new RandomListNode(pHead.label); RandomListNode head = node; while(pHead != null){ node.next = pHead.next == null ? null : new RandomListNode(pHead.next.label); node.random = pHead.random == null ? null : new RandomListNode(pHead.random.label); node = node.next; pHead = pHead.next; } return head; } }
相关文章
- 挑战面试编程:链表逆转的多种实现
- 【算法】【链表模块】两个单链表生成相加链表
- 看数据结构写代码(21) 稀疏矩阵(十字链表方式)
- C#,双向链表(Doubly Linked List)快速排序(Quick Sort)算法与源代码
- 第14周-任务2-链表类
- Java数据结构之链表及其常见算法
- [算法]链表题目
- [算法]删除链表中重复的节点
- 链表反转实现
- js数据结构与算法:链表
- 力扣-有序链表转平衡二叉树
- 剑指 Offer 52. 两个链表的第一个公共节点
- 13、举例让抽象具体化——合并两个排序的链表(python版)
- 5链表的应用--学生管理系统
- 《剑指offer》面试题10:链表中倒数第k个节点
- Java开发 - 双向链表不可怕
- 自引用结构--之链表指定位置添加元素
- 07数据结构与算法分析之---循环链表
- 06数据结构与算法分析之---单向链表
- leetcode 23. Merge k Sorted Lists 合并K个升序链表(困难)