【面试准备】letcode-Copy List with Random Pointer
来源:互联网 发布:广告公司源码 编辑:程序博客网 时间:2024/06/05 08:31
参照http://www.cnblogs.com/easonliu/p/3647160.html
/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label; * RandomListNode *next, *random; * RandomListNode(int x) : label(x), next(NULL), random(NULL) {} * }; */class Solution {public: RandomListNode *copyRandomList(RandomListNode *head) { if(head == NULL){ return NULL; } RandomListNode* p1 = head; RandomListNode* p2 = head->next; while(p1 != NULL){ p1->next = new RandomListNode(p1->label); p1->next->next = p2; p1 = p2; if(p1 != NULL){ p2 = p1->next; } } p1 = head; p2 = head->next; while(p1 != NULL){ if(p1->random == NULL){ p2->random = NULL; }else{ p2->random = p1->random->next; } p1 = p2->next; if(p1 != NULL){ p2 = p1->next; } } RandomListNode* ans = head->next; p1 = head; p2 = head->next; while(p2 != NULL){ p1->next = p2->next; p1 = p2; if(p2 != NULL){ p2 = p2->next; } } p1->next = NULL; return ans; }};
0 0
- 【面试准备】letcode-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
- 20个有趣的Linux命令
- Java中使用OpenSSL RSA公私钥进行数据加解密保存
- UML类图几种关系的总结
- 新手
- 存储管理——现代操作系统学习笔记
- 【面试准备】letcode-Copy List with Random Pointer
- 苹果App Store审核指南中文翻译
- java的静态和非静态
- gdb调试出现Missing separate debuginfos
- android系统和ios系统的推送是如何实现的,有什么区别
- java中关键字volatile的作用
- git服务器搭建过程
- 统计学习分类名录
- 乱码