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️⃣ 运行结果
Java数据结构与算法--day03

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

上一篇:Day03


下一篇:Day03-Switch与循环结构