【面试题】剑指offer26--复杂链表的复制
来源:互联网 发布:淘宝店卖家要什么软件 编辑:程序博客网 时间:2024/06/07 11:33
链表分很多种,(1)单链表:只有指向后一个结点的指针next
(2)双链表:有指向前一个结点的指针prev和指向后一个结点的指针next
(3)复杂链表:除了有一个指向后一个结点的指针next之外,还有一个指向任意结点或者NULL的指针Sibling
如下图所示的情形:
图中直线表示指向后一个结点,而虚线表示指向任意一个结点,或者NULL。
代码实现:
#include<iostream>using namespace std;#include<assert.h>struct Node{Node* _value;Node* _next;Node* _Sibling;};Node* CopyComplexList(Node*& phead){assert(phead);Node* Cur = phead;Node* tmp = NULL;while (Cur){tmp = Cur;Cur = Cur->_next;Node* newNode = new Node(tmp->_value);tmp->_next = newNode;newNode->_next = Cur;}Cur = phead;Node* newNode = NULL;while (Cur){newNode = Cur->_next;if (Cur->_Sibling){newNode->_Sibling = Cur->_Sibling->_next;}Cur = newNode->_next;}Cur = phead;Node* newHead = NULL;if (Cur){newHead = Cur->_next;}Node* newCur = newHead;while (Cur){newCur = Cur->_next;Cur->_next = newCur;Cur = Cur->_next;}return newHead;}
阅读全文
0 0
- 【面试题】剑指offer26--复杂链表的复制
- 剑指Offer26复杂链表的复制
- 剑指offer26:复杂链表的复制
- 剑指Offer26:复杂链表的复制
- 剑指offer26:复杂链表复制
- 【面试题】复杂链表的复制
- 面试题:复杂链表的复制
- [剑指offer][面试题26]复杂链表的复制
- 剑指offer 面试题26复杂链表的复制
- 【剑指offer】面试题26:复杂链表的复制
- 剑指Offer:面试题26 复杂链表的复制
- 《剑指Offer》面试题26:复杂链表的复制
- 剑指offer面试题26-复杂链表的复制
- 剑指offer-面试题26:复杂链表的复制
- 剑指offer-面试题26.复杂链表的复制
- 剑指Offer----面试题26:复杂链表的复制
- 剑指offer 面试题26 复杂链表的复制
- 剑指offer面试题26:复杂链表的复制
- 图与自由树
- action中的list在JSP页面如何显示问题的总结补30号的
- 在浏览器中输入一个网址后,发生了什么?
- Storm1.1.0<控制台输出指定Log信息>
- onload事件
- 【面试题】剑指offer26--复杂链表的复制
- 网络编程(Socket编程)
- 【python代码技巧1】文件查找&数组变维
- 我爱她她也爱我这才是真正恋情
- 约瑟夫环问题
- idea 破解
- Java Web基础知识之Servlet
- 1260: 找子串
- SpringBoot简介