Professional Documents
Culture Documents
Mytreenode: Find The Distance Between Two Nodes in Binary Tree: Class
Mytreenode: Find The Distance Between Two Nodes in Binary Tree: Class
class MyTreeNode
{
public int Data { get; set; }
public MyTreeNode Left { get; set; }
public MyTreeNode Right { get; set; }
public MyTreeNode(int data)
{
this.Data = data;
}
}
class QTwoNodeDis
{
public static int Distance(MyTreeNode root, MyTreeNode node1, MyTreeNode node2)
{
var node = FindLCA(root, node1, node2);
int distLCA = FindLevel(root, node);
int dist1 = FindLevel(root, node1);
int dist2 = FindLevel(root, node2);
if (level == -1)
level = FindLevel(root.Right, node);
if(level != -1)
return level + 1;
return -1;
}
}