Question 5. Trees [9]
Below are definitions for tree nodes and two functions that operate on them. Provide implementations for the two functions.
// each node in the tree has pointers to its parent // node in addition to its two chilren struct tnode { int data; tnode *parent, *left, *right; }; // given a pointer to a node in the tree, // return a pointer to the root node tnode *findRoot(tnode *n); // given pointers to two nodes, return true // if they are non-null and in the same tree, // false otherwise bool sameTree(tnode *n1, tnode*n2);