多语言展示
当前在线:780今日阅读:176今日分享:34

如何判断二叉树是否存在和链表值相同的连续路径

题目:给定一个二叉树和一条单向无环链表,实现一个算法,判断这棵二叉树中是否存在一条连续向下的节点路径,其中各个节点的值和链表各个节点的值对应相等。
工具/原料
1

Eclipse

2

JDK1.8

方法/步骤
1

编写一个表示链表节点的静态内部类,通过该类对象可以构建一条链表结构。

2

编写一个表示二叉树节点的静态内部类,通过该类对象可以构建一棵二叉树结构。

3

编写一个工具函数,通过递归调用,判断在参数二叉树中,是否存在从根节点开始的一条连续向下的节点路径,其中各个节点的值等于参数链表中对应节点的值。

4

一个二叉树中是否包含符合条件的连续向下的节点路径,包含如下3种情况:1. 从当前根节点开始向下遍历,存在这条路径(调用上述工具函数即可);2. 左子树存在这条路径(通过左子树根节点递归调用本函数);3. 右子树存在这条路径(通过右子树根节点递归调用本函数)。按照上述思路,实现算法代码即可。

5

编写一个工具函数,在控制台输出链表结构,用于辅助本地测试。

6

编写一个工具函数,通过迭代方式中序遍历输出一棵二叉树,用于辅助本地测试。

7

编写本地测试主方法。

8

运行本地测试主方法,观察控制台输出,符合预期,本地测试通过。

9

平台提交算法,测试通过。

注意事项

二叉树中的节点路径需要是垂直向下的并且节点是连续的。

推荐信息