链表的基本操作(java版)

引言

最近在刷剑指offer和LeetCode的时候,看到了很多关于链表的问题,以前只学过c版本的链表,而且学的不是太好,现在总结一下java版本实现链表基本操作的问题

基本操作

先新建一个节点类:

public class ListNode {
	
	    int val;
	    ListNode next = null;  

	    ListNode(int val) {
	        this.val = val;
	    }
	}

基本操作:

ListNode head = null;
	@SuppressWarnings("null")
	public  void add(int data) {
		ListNode newnode = new ListNode(data);
		if(head==null)
			
		{
			head = newnode;
			return;
		}
		ListNode temp = head;
		while(temp.next!=null)
		{
			temp=temp.next;
		}
		temp.next=newnode;
	}
	public void printLink(){
        ListNode curNode = head;
        while(curNode !=null){
            System.out.print(curNode.val+" ");
            curNode = curNode.next;
        }
        System.out.println();
    }
	public void length() {
		ListNode temp = head;
		int i =0;
		while(temp!=null)
		{
			i++;
			temp = temp.next;
		}
		System.out.println(i);
			
	}
	
	
	
	    public static void main(String[] args) {
		SinglyLinkedList list = new SinglyLinkedList();

		list.add(1);
		list.add(2);
		list.printLink();
		list.length();
	    
		

		
		
		

	}

猜你喜欢

转载自blog.csdn.net/qq_29566629/article/details/88139799