From 222caf4dcc0b49c26371d01d8cd81bff62cd6d26 Mon Sep 17 00:00:00 2001 From: ashmichheda Date: Wed, 4 Nov 2020 19:10:42 -0700 Subject: [PATCH] added recursive solution for 965 --- .../java/com/fishercoder/solutions/_965.java | 7 +++++++ src/test/java/com/fishercoder/_965Test.java | 18 +++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/fishercoder/solutions/_965.java b/src/main/java/com/fishercoder/solutions/_965.java index 09b1c5b9d3..e8ddf0c291 100644 --- a/src/main/java/com/fishercoder/solutions/_965.java +++ b/src/main/java/com/fishercoder/solutions/_965.java @@ -21,4 +21,11 @@ private boolean dfs(TreeNode root, int value) { return dfs(root.left, value) && dfs(root.right, value); } } + public static class Solution2 { + public boolean isUnivalTree(TreeNode root) { + boolean leftUnivaled = root.left == null || root.left.val == root.val && isUnivalTree(root.left); + boolean rightUnivaled = root.right == null || root.right.val == root.val && isUnivalTree(root.right); + return leftUnivaled && rightUnivaled; + } + } } diff --git a/src/test/java/com/fishercoder/_965Test.java b/src/test/java/com/fishercoder/_965Test.java index 50b355d150..6de473243f 100644 --- a/src/test/java/com/fishercoder/_965Test.java +++ b/src/test/java/com/fishercoder/_965Test.java @@ -2,22 +2,24 @@ import com.fishercoder.common.classes.TreeNode; import com.fishercoder.common.utils.TreeUtils; -import com.fishercoder.solutions._14; import com.fishercoder.solutions._965; -import java.util.Arrays; -import java.util.List; import org.junit.BeforeClass; import org.junit.Test; +import java.util.Arrays; + import static org.junit.Assert.assertEquals; public class _965Test { private static _965.Solution1 solution1; + private static _965.Solution2 solution2; private static TreeNode root; @BeforeClass public static void setup() { + solution1 = new _965.Solution1(); + solution2 = new _965.Solution2(); } @Test @@ -31,4 +33,14 @@ public void test2() { root = TreeUtils.constructBinaryTree(Arrays.asList(2, 2, 2, 5, 2)); assertEquals(false, solution1.isUnivalTree(root)); } + @Test + public void test3() { + root = TreeUtils.constructBinaryTree(Arrays.asList(-1, -1, -1, -1, -1, -1, -1)); + assertEquals(true, solution2.isUnivalTree(root)); + } + @Test + public void test4() { + root = TreeUtils.constructBinaryTree(Arrays.asList(2, 2, 2, 2, 2, 2, 1)); + assertEquals(false, solution2.isUnivalTree(root)); + } } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy