Java实现ListNode和LinkedList

Java实现ListNode和LinkedList

定义ListNode类

class ListNode {
	//定义成员变量
	int val;		//结点的值
	ListNode next;	//下一个结点
	//定义构造方法
	//无参构造,初始化val为0
	public ListNode() {
		this.val = 0;
	}
	//有参构造,设置val为传参的值
	public ListNode(int val) {
		this.val = val;
	}
}

定义LinkedList类

class LinkedList {
    //定义成员变量
    ListNode head; //初始化头结点
    // 构造方法
    //无参构造,初始化返回的链表头结点为0
    public LinkedList() { 
        this.head = new ListNode();
    }
    //有参构造,返回的链表头结点为传参的head
    public LinkedList(ListNode head) { 
        this.head = head;
    }
}

在ListNode和LinkedList类中重写toString方法,方便我们打印结果。

public class MyLinkedList {
    public static void main(String[] args) {
        ListNode head = new ListNode();
        head.next = new ListNode(1);
        System.out.println(head);
        LinkedList list1 = new LinkedList(head);
        LinkedList list2 = new LinkedList();
        System.out.println(list1);
        System.out.println(list2);
    }
}
 
class ListNode {
    int val;
    ListNode next; 
    public ListNode() {
    	this.val = val;
    } 
    public ListNode(int val) { 
        this.val = val;
    }
    @Override
    public String toString() {
        return "ListNode{" +
                "val=" + val +
                ", next=" + next +
                '}';
    }
}

class LinkedList {
    ListNode head;
    public LinkedList() { 
        this.head = new ListNode();
    }
    public LinkedList(ListNode head) { 
        this.head = head;
    }
    @Override
    public String toString() {
        return "LinkedList{" +
                "head=" + head +
                '}';
    }
}

运行结果为

ListNode{val=0, next=ListNode{val=1, next=null}}
LinkedList{head=ListNode{val=0, next=ListNode{val=1, next=null}}}
LinkedList{head=ListNode{val=0, next=null}}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值