从尾到头打印链表
从尾到头打印链表
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 函数要注意检查返回值
海康威视公司福利 1261人发布