1.3.19

//删除尾节点

java版:

import edu.princeton.cs.algs4.*;

public class Linklist<Item>
{
    private static class Node<Item>
    {
        Item item;
        Node<Item> next;
    }
    
    public Node<Item> deletelastnode(Node<Item> first)
    {
        if(first == null)
            return null;
        
        Node<Item> last = first;
        while(last.next != null)//找尾节点
        {
            last = last.next;
        }
        
        Node<Item> sec_last = first;
        while(sec_last.next != last)//找尾节点前一个节点
        {
            sec_last = sec_last.next;
        }
        sec_last.next = null;//删除尾节点
        
        return first;
    }
    
    public static void main(String[] args)
    {
        Node<String> first = new Node<String>();
        Node<String> head = first;
        StdOut.println("input the length of link list:(>0)");
        int c = StdIn.readInt();
        for(int i = 0; i < c; i++)//创建链表
        {
            Node<String> temp = new Node<String>();
            first.item = "a";
            first.next = temp;
            first = temp;
        }
        first.next = null;
        StdOut.println("original link list:");
        Node<String> h1 = head;
        while(h1.next != null)
        {
            StdOut.print(h1.item + " ");
            h1 = h1.next;
        }
        StdOut.print("\n");
        StdOut.println("after delete:");
        Linklist<String> linklist = new Linklist<String>();//不是很懂
        Node<String> h2 = linklist.deletelastnode(head);
        while(h2.next != null)
        {
            StdOut.print(h2.item + " ");
            h2 = h2.next;
        }
        StdOut.print("\n");
    }
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325109538&siteId=291194637