从尾到头打印链表

从尾到头打印链表

http://www.nowcoder.com/questionTerminal/d0267f7f55b3412ba93bd35cfa8e8035

方法:
1 用std::reverse 函数,先建立一个vector,从头遍历链表,将值取出装到容器里,然后再颠倒

1. 

反转链表

对于一个链表,我们要从头指针开始,将它指针的方向翻过来,指向前一个,对于头指针来说,也就是指向空指针,我们建立三个对象来实现这次移动,
cur 当前操作指针,需要改变其指向
pre 它原本的上一个指针,然后变成它的下一个指针
temp 保存变化前pre指向的下一个指针

1. 

递归遍历,函数自己调用自己

正常读取时是从head一个一个读过取得,我们用递归的方法,head作为最外层的函数最先调用,,head值最后一个才写入的,终止条件是head 为空
一定找到哪个是判断递归的结束,哪个是程序的结束,注意值的累加,不要到最后只有一个值

代码:
1 C++reverse 函数
#include <algorithm>; 没有返回值
可用于反转数组,字符串,和容器元素</algorithm>

vector<int> v = {5,4,3,2,1};</int>

reverse(v.begin(),v.end());//v的值为1,2,3,4,5

string str="www.mathor.top";

reverse(str.begin(),str.end());//str结果为pot.rohtam.wwww
2 函数要注意检查返回值

全部评论

相关推荐

Java转测开第一人:这种就是饼 把应届当廉价劳动力用完然后丢掉
你觉得今年秋招难吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务