參考資訊:
https://www.cnblogs.com/grandyang/p/10771842.html
題目:

解答:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int travel(struct TreeNode *n, int *r_buf, int *r_cnt)
{
if (!n) {
return 0;
}
if (!n->left && !n->right) {
r_buf[(*r_cnt)++] = n->val;
return 0;
}
return travel(n->left, r_buf, r_cnt) + travel(n->right, r_buf, r_cnt);
}
bool leafSimilar(struct TreeNode *root1, struct TreeNode *root2)
{
int cc = 0;
int cnt[2] = { 0 };
int buf[2][201] = { 0 };
travel(root1, &buf[0][0], &cnt[0]);
travel(root2, &buf[1][0], &cnt[1]);
if (cnt[0] != cnt[1]) {
return false;
}
for (cc = 0; cc < cnt[0]; cc++) {
if (buf[0][cc] != buf[1][cc]) {
return false;
}
}
return true;
}