来源于leetcode的206题;
我是从迭代层次来思考这道题,先定义一个cur表示当前位置的结构体地址,初始为plist(即第一个结构体的地址);next表示cur下一个节点的地址(它可以定义在循环内部,因为它只是为了防止cur->next改变而找不到原来的cur->next,next只是用来暂存其地址,以便循环正常进行);pre表示cur上一个结点的地址,初始为NULL(因为要让头变为尾,第一个节点最终会指向空指针);思路就是让cur遍历链表,先将cur->next暂存到next中,再将cur->next指向上一个结构体的地址,在把pre改变成cur,最后把cur赋值成next让循环正常进行;
我再从图解角度谈谈这道题: