lintcode 32 翻转链表

翻转一个链表

  • 样例:
    给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null
思路:必须要有三个节点。cur,一个保存下一次要访问的节点,before,一个是这一次断开的哪个节点,last是断开的这个点before要连接到的那个点。

public class Solution {
    /**
     * @param head: The head of linked list.
     * @return: The new head of reversed linked list.
     */
    public ListNode reverse(ListNode head) {
        if(head==null||head.next==null){
            return head;
        }
        ListNode cur=head;
        ListNode last=null;
        ListNode before=null;
        while(cur!=null){
            last=before;
            before=cur;
            cur=cur.next;
            before.next=last;
        }
       return before;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 思路image.png每次遍历的节点拿到最前面,作为新的head节点。 那么2节点的next地址不能丢了。p.ne...
    jose_dl阅读 1,454评论 0 0
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,364评论 0 33
  • //leetcode中还有花样链表题,这里几个例子,冰山一角 求单链表中结点的个数----时间复杂度O(n)这是最...
    暗黑破坏球嘿哈阅读 5,468评论 0 6
  • 3.10 69.给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 二叉树的层次遍历样例给一棵二叉树 {3...
    mytac阅读 4,832评论 3 3
  • 《朗读者》第一期【遇见】 01 只要你是个正直的孩子,不管你从事什么行业,你都是我的好孩子。 ——柳传志父亲对柳传...
    零星记忆阅读 1,522评论 0 3

友情链接更多精彩内容