对于题目相信大家都比较熟悉了,下面就直接上代码了,其中没有给出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 &