摘要:
问题:给定一棵二叉树(非二叉检索树),求二叉树中距离最远的两个叶子节点间的距离?其中两个叶子间的距离定义为:F(X,Y) = 从节点X到根节点路径上所有节点数据之和 +从节点Y到根节点路径上所有节点数据之和 - 从X和Y的第一个祖先节点到根节点路径上所有节点数据之和。该题的主要思路:1.求出二叉树的所有叶子节点。2.求任意两个叶子节点的第一个祖先节点。3.计算具有祖先-子孙关系的两个节点之间的路径,并计算路径上节点数据之和。#include <iostream>#include <vector>using namespace std;struct Node{ Node( 阅读全文