反转链表

1、定义链表结构


    class LinkNode{
        int val;
        LinkNode next;
        public LinkNode(int val) {
            this.val = val;
        }
    }

2、链表反转


    public LinkNode reverseLinkNode(LinkNode pHead) {
        if (pHead == null || pHead.next == null) {
            return pHead;
        }
        LinkNode newNode = pHead;
        LinkNode curr = pHead.next;
        LinkNode temp = null;
        while (curr != null) {
            temp = curr.next;
            curr.next = newNode;
            newNode = curr;
            curr = temp;
        }
        return newNode;
    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 传送门 https://pintia.cn/problem-sets/994805260223102976/pro...
    Rush的博客阅读 2,000评论 0 1
  • 过程 迭代过程中需要三个指针: p用来指向当前待处理的结点 lastp 指向上一个处理完的结点,初始为空。这样的话...
    熊白白阅读 399评论 0 0
  • 我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容。...
    OliverLew阅读 2,309评论 0 2
  • 将一个链表反转输出,链表没有head结点。 思路 因为没有头节点,不能用头插法来实现反转,但可以采用差不多的思想。...
    uzck阅读 329评论 0 0
  • 题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点 递归算法: 1.找到最后一个节点和倒...
    Felicia1993阅读 339评论 0 0