Java教程

Java数据结构与算法--day03

本文主要是介绍Java数据结构与算法--day03,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、单链表面试题

1. 求单链表中有效节点的个数

如果是带头节点的链表,需求不统计头节点

1️⃣ 方法

public static int getLength(HeroNode head) {
		if(head.next==null) {//空链表
			return 0;
		}
		int length=0;
		//定义一个辅助的变量,这里我们没有统计头节点
		HeroNode cur=head.next;
		while(cur!=null) {
			length++;
			cur=cur.next;//遍历			
		}
		return length;
	}
//返回头节点
	public HeroNode getHead() {
		return head;
	}

2️⃣ 测试

//删除一个节点
		singleLikedList.del(1);
		singleLikedList.del(4);
		System.out.println("删除之后的链表情况~~");
		singleLikedList.list();
		
		//测试一下 求单链表中有效节点的个数
		System.out.println("有效的节点个数="+getLength(singleLikedList.getHead()));//2
	}

3️⃣ 运行结果
在这里插入图片描述

2. 查找单链表中的倒数第k个节点【新浪面试题】

这篇关于Java数据结构与算法--day03的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!