LeetCode Entry

872. Leaf-Similar Trees

8.12.2022 easy 2022 kotlin

fun leafSimilar(root1: TreeNode?, root2: TreeNode?): Boolean {

872. Leaf-Similar Trees easy

https://t.me/leetcode_daily_unstoppable/45


    fun leafSimilar(root1: TreeNode?, root2: TreeNode?): Boolean {
        fun dfs(root: TreeNode?): List<Int> {
            return when {
                root == null -> listOf()
                root.left == null && root.right == null -> listOf(root.`val`)
                else -> dfs(root.left) + dfs(root.right)
            }
        }

        return dfs(root1) == dfs(root2)
    }

There is only 200 items, so we can concatenate lists. One optimization would be to collect only first tree and just compare it to the second tree while doing the inorder traverse.

Space: O(N), Time: O(N)