Java教程

链表题目

本文主要是介绍链表题目,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、翻转链表

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode prev = null, curr = head;
        while (curr != null) {
            ListNode next = curr.next;
            curr.next = prev;
            prev = curr;
            curr = next;
        }
        return prev;
    }
}

// 递归 class Solution {     public ListNode reverseList(ListNode head) {         if (head == null || head.next == null) {    // null 或 单节点             return head;         }         ListNode p = reverseList(head.next);         head.next.next = head;         head.next = null;         return p;     } }
 

 

这篇关于链表题目的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!