【面试题】剑指offer 16
来源:互联网 发布:unity3d怎么做建筑 编辑:程序博客网 时间:2024/06/11 09:54
题目:
定义一个链表的头结点,反向输出链表
#include<iostream>using namespace std;struct ListNode{ int _value; ListNode* _pNext;};class List{public: List() :head(NULL) {} ~List() { delete head; head=NULL; } ListNode* ReserList() { ListNode* RerserHead=NULL; ListNode* node=head; ListNode* prev=NULL; while (node) { ListNode* next=node->_pNext; if(next==NULL) RerserHead=node; node->_pNext=prev; prev=node; node=next; } return RerserHead; } void AddNum(int num) { ListNode* newnode=new ListNode(); if (head==NULL) { newnode->_value=num; newnode->_pNext=NULL; head=newnode; return; } ListNode* cur=head; while (cur->_pNext) { cur=cur->_pNext; } newnode->_value=num; newnode->_pNext=NULL; cur->_pNext=newnode; } void PrintList() { ListNode* cur=head; if (cur==NULL) { return; } while (cur) { cout<<cur->_value<<" "; cur=cur->_pNext; } cout<<endl; } void ReserPrint() { ListNode* cur=ReserList(); if(cur==NULL) return; while (cur) { cout<<cur->_value<<" "; cur=cur->_pNext; } cout<<endl; }private: ListNode* head;};void test(){ List l; l.AddNum(1); l.AddNum(2); l.AddNum(3); l.AddNum(4); l.AddNum(5); l.AddNum(6); l.AddNum(7); l.AddNum(8); l.AddNum(9); l.PrintList(); l.ReserPrint();}
#include "List.h"#include<cstdlib>int main(){ test(); system("pause"); return 0;}
0 0
- 剑指offer面试题16
- 【面试题】剑指offer 16
- 剑指offer 面试题
- 剑指offer面试题
- 剑指offer 面试题16 反转单链表
- 《剑指offer》面试题16扩展题
- 剑指Offer面试题16 & Leetcode206
- 剑指offer面试题总结
- 剑指offer面试题06
- 剑指offer面试题 04
- 剑指offer 面试题07
- 剑指offer面试题08
- 剑指offer面试题42
- 剑指offer面试题1
- 剑指offer面试题3
- 剑指offer面试题4
- 剑指offer面试题5
- 剑指offer面试题6
- 纯Java的高性能长连接RPC解决方案
- PAT 1023
- js如何准确获取当前页面url网址信息
- JAVA中泛型和集成体系
- 什么时候选择LinkedList?
- 【面试题】剑指offer 16
- C++面试问题——整理篇
- QT5——SpinBox、Double SpinBox 和Slider
- 1003. Emergency (25) 最短路问题
- Hive编程指南05---Hive查询
- JAVA利用第三方平台发送短信验证码。
- Bootloader
- QT生成DLL,调用DLL
- Android之EditText禁止回车键换行