• lintcode35- Reverse Linked List- easy


    Reverse a linked list.
    For linked list 1->2->3, the reversed linked list is 3->2->1
    Reverse it in-place and in one-pass 
     
    用两个指针可以做到。这种链接的在纸上先用图形+语句画好很有帮助。
     
    /**
     * Definition for ListNode.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int val) {
     *         this.val = val;
     *         this.next = null;
     *     }
     * }
     */
    
    
    public class Solution {
        /*
         * @param head: n
         * @return: The new head of reversed linked list.
         */
        public ListNode reverse(ListNode head) {
            // write your code here
            if (head == null){
                return null;
            }
            
            if (head.next == null){
                return head;
            }
            
            ListNode first = head;
            ListNode second = head.next;
            ListNode res = null;
            
            first.next = null;
            
            while(second != null){
                ListNode temp = second.next;
                second.next = first;
                first = second;
                second = temp;
            }
            
            return first;
        }
    }

    网上看到的精简实现版:

    直接免去了我额外创新指针,head也拿来用,且巧妙自我化解开头的非法输入问题。

    public class Solution {
        /**
         * @param head: The head of linked list.
         * @return: The new head of reversed linked list.
         */
        public ListNode reverse(ListNode head) {
            ListNode prev = null;
            while (head != null) {
                ListNode temp = head.next;
                head.next = prev;
                prev = head;
                head = temp;
            }
            return prev;
        }
    }
  • 相关阅读:
    django url路由
    web 协议
    动画效果 each循环
    页面载入
    js 事件 事件委托
    jQuery 文档操作
    jQuery 标签操作 样式操作
    筛选器方法
    jQuery 介绍
    js操作属性 类操作 事件
  • 原文地址:https://www.cnblogs.com/jasminemzy/p/7513753.html
Copyright © 2020-2023  润新知