首页 > 其他 > 详细

LeetCode 872. 叶子相似的树(Leaf-Similar Trees)

时间:2019-06-09 21:17:44      阅读:107      评论:0      收藏:0      [点我收藏+]

872. 叶子相似的树
872. Leaf-Similar Trees

题目描述
请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个叶值序列。

技术分享图片

LeetCode872. Leaf-Similar Trees简单

举个例子,如上图所示,给定一颗叶值序列为?(6, 7, 4, 9, 8)?的树。

如果有两颗二叉树的叶值序列是相同,那么我们就认为它们是 叶相似?的。

如果给定的两个头结点分别为?root1 和?root2?的树是叶相似的,则返回?true;否则返回 false。

提示:

  • 给定的两颗树可能会有?1?到?100?个结点。

Java 实现
TreeNode Class

public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    TreeNode(int x) {
        val = x;
    }
}
class Solution {
    public boolean leafSimilar(TreeNode root1, TreeNode root2) {
        if (root1 == null || root2 == null) {
            return root1 == null && root2 == null ? true : false;
        }
        StringBuffer sb1 = new StringBuffer();
        StringBuffer sb2 = new StringBuffer();
        preorder(root1, sb1);
        preorder(root2, sb2);
        return sb1.toString().equals(sb2.toString());
    }

    public void preorder(TreeNode root, StringBuffer sb) {
        if (root == null) {
            return;
        }
        if (root.left == null && root.right == null) {
            sb.append(root.val);
        }
        preorder(root.left, sb);
        preorder(root.right, sb);
    }
}

参考资料

LeetCode 872. 叶子相似的树(Leaf-Similar Trees)

原文:https://www.cnblogs.com/hglibin/p/10994616.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!