-->
当前位置:首页 > 题库 > 正文内容

编程题:二叉树路径和

Luz4年前 (2021-11-08)题库1062
已知二叉树结点数据值为不等于0的整数。给定一个整数K,请编写程序找出结点值之和等于K的路径。

本题的“路径”定义为二叉树中的结点序列$$v_i, …, v_j$$,序列中前一个结点是后一个结点的父结点,但**路径不一定是以根结点为起点,也不一定是以叶结点为终点**。例如K=7,对于图1所示的二叉树t,满足条件的路径有2条,即5-2和7。若没有满足条件的路径,则亦能识别。


![pic2.jpg](~/b26bbcd6-9358-414f-b9ce-770df045f962.jpg)


### 输入格式:

每个测试点包含多组数据,第一行为整数T,表示数据组数。接下来T行,每行为一组用空格间隔的整数,表示带空指针信息的二叉树先根序列以及整数K,其中空指针信息用0表示。每个测试点总结点个数不超过150000,高度不超过10000。

### 输出格式:

输出为T行。对每组数据,输出一条满足条件的路径(每个数字后一个空格),若存在多条满足条件的路径,则输出最短(包含结点个数最少)者,若存在多条最短的路径,则输出最靠右下者。若不存在满足条件的路径,则输出no available path。

### 输入样例:


in
2
8 5 1 0 0 2 0 0 7 0 0 7
8 5 1 0 0 2 0 0 7 0 0 6



### 输出样例:

out
7
5 1








答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。