单链表输出倒数第 K 个节点

节点类

/**
 * 
 * @author:西瓜菌
 * @date:2022年3月16日上午11:44:58
 * @Description:节点类
 */
class Node{
	Node next;
	int data;
	
	public Node(int data) {
		this.data = data;
	}

	@Override
	public String toString() {
		return "Node [data=" + data + "]";
	}
}

单链表类

/**
 * 
 * @author:西瓜菌
 * @date:2022年3月16日上午11:45:14
 * @Description:单链表类
 */
class LinkeList{
	Node head = new Node(-1);
	
	public void add(Node ele) {
		Node temp = head;
		while(temp.next != null) {
			temp = temp.next;
		}
		temp.next = ele;
	}
}

main类

/**
 * @author:西瓜菌
 * @date:2022年3月16日上午11:40:08
 * @Description:输出单链表倒数第 K 个节点
 */
public class SingleLinkedList {
	public static void main(String[] args) {
		LinkeList ls = new LinkeList();
		ls.add(new Node(1));
		ls.add(new Node(2));
		ls.add(new Node(3));
		ls.add(new Node(4));
		showNode(ls,4);
	}
	
	private static void showNode(LinkeList ls, int k) {
		Node node = ls.head.next;
		int count = 0;
		while(node != null) {
			node = node.next;
			count++;
		}
		
		node = ls.head.next;
		for(int i = count; i > k; i--) {
			node = node.next;
		}
		System.out.println("倒数第"+ k +"个节点:"+node);
	}
}

输出结果

倒数第4个节点:Node [data=1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值