单链表逆置

经过自己研究,对于单链表的逆序有了一定的了解,记录下来供以后自己查阅


1.无头单链表逆序

pNode* reverse_nohead(pNode* p)
{
    if(p == NULL||p->next == NULL)
        return p;
    Node*ph = reverse_nohead(p->next);
    p->next->next = p;
    p->next = null;
    return ph;
}



因为链表的逆置需要从最后一个节点开始,所以处理语句在递归语句的后面。先遍历到最后一个节点才开始进行逆置操作。

public void reverse(parameter p){
    处理语句 // 先执行再依次递归执行,即对每个节点依次进行处理,顺递归
    reverse(p.next);
    处理语句 //先递归至最后一个节点,再执行操作,依次逆向进行处理,逆递归
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值