编程——两种list的翻转方法
来源:互联网 发布:淘宝哪家零食店好 编辑:程序博客网 时间:2024/06/04 17:58
对于题目相信大家都比较熟悉了,下面就直接上代码了,其中没有给出list的creat函数,有兴趣的同学可以自己实现。
1. 模板node的定义
template<class T> class TNode
{
public:
TNode(const T& data) : next_(0)
{
data_ = data;
}
~TNode()
{
}
public:
T data_;
TNode<T>* next_;
};
2. 非递归方式
TNode<T>* reverse(TNode<T>* head)
{
TNode<T>* pre = 0;
TNode<T>* suc = 0;
while ( head != 0 )
{
suc = head->next_;
head->next_ = pre;
pre = head;
head = suc;
}
head = pre;
return head;
}
3. 递归方式
TNode<T>* recurReverse(TNode<T>* head)
{
if ( 0 == head || 0 == head->next_ )
{
return head;
}
TNode<T>* finalHead = recurReverse(head->next_);
head->next_->next_ = head;
head->next_ = 0;
return finalHead;
}
- 编程——两种list的翻转方法
- 翻转字符串的两种方法
- 字符串翻转的两种方法
- 翻转数组 两种方法
- (libgdx学习)翻转图片的两种方法
- Python两种列表翻转方法的效率比较
- 在线编程的两种方法——IAP,ISP
- List排序的两种实现方法
- List排序的两种方法
- 初始化ArrayList、List的两种方法
- C编程—单链表的翻转
- 关于把一个无符号数的二进制位翻转的两种实现方法
- 链表翻转的两种方法(递归+非递归)
- 字符串翻转的两种方法(1:利用额外空间 2:交换)
- 对于多编程的两种方法
- spring事务编程的两种方法
- Collections.sort方法对list排序的两种方式
- Collections.sort方法对list排序的两种方式
- OpenGl的glMatrixMode()函数理解
- Ubuntu 下mysql卸载与安装
- 阿里天池大数据
- 人生与工作——惠普前中国区总裁孙振耀的“退休HP九大感言”
- COPY Java Secure Socket Extension (JSSE) Reference Guide
- 编程——两种list的翻转方法
- ubuntu linux 加载当前目录的动态库
- 在Linux下安装eclipse
- android 简单的音乐播放器
- App开发日报 2015-04-27 iOS图形性能进阶与测试
- leetcode_2_two+sum
- HDU 3853 LOOPS 概率dp
- GLSL 内建函数
- BIRT报表工具安装和集成到现有项目中详解