diff --git a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
index 7aea60afa6..7cf699092d 100644
--- a/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
+++ b/src/test/java/com/ossez/lang/tutorial/tests/LintcodeTest.java
@@ -290,28 +290,4 @@ public class LintcodeTest {
System.out.println(strSet.size());
}
- /**
- * 1480 https://www.lintcode.com/problem/dot-product/description
- */
- @Test
- public void test1480dotProduct() {
- int[] A = { 1, 1, -1 };
- int[] B = { 2147483647, 1, 3 };
-
- int retStatus = 0;
-
- // LENGTH CHECK
- if (A.length == 0 || B.length == 0 || A.length != B.length)
- retStatus = -1;
-
- // ADDED
- if (retStatus != -1) {
- for (int i = 0; i < A.length; i++) {
- retStatus = retStatus + A[i] * B[i];
- }
- }
-
- System.out.println(retStatus);
- }
-
}
diff --git a/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java
new file mode 100644
index 0000000000..a9b1566edf
--- /dev/null
+++ b/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069SLevelOrderTest.java
@@ -0,0 +1,124 @@
+package com.ossez.lang.tutorial.tests.lintcode;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Queue;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.ossez.lang.tutorial.models.TreeNode;
+
+/**
+ *
+ * 69
+ *
+ *
+ *
+ * @author YuCheng
+ *
+ */
+public class LintCode0069SLevelOrderTest {
+
+ private final static Logger logger = LoggerFactory.getLogger(LintCode0069SLevelOrderTest.class);
+
+ /**
+ *
+ */
+ @Test
+ public void testMain() {
+ logger.debug("BEGIN");
+ String data = "{3,9,20,#,#,15,7}";
+
+ TreeNode tn = deserialize(data);
+ System.out.println(levelOrder(tn));
+
+ }
+
+ /**
+ * Deserialize from array to tree
+ *
+ * @param data
+ * @return
+ */
+ private TreeNode deserialize(String data) {
+ // NULL CHECK
+ if (data.equals("{}")) {
+ return null;
+ }
+
+ ArrayList treeList = new ArrayList();
+
+ data = data.replace("{", "");
+ data = data.replace("}", "");
+ String[] vals = data.split(",");
+
+ // INSERT ROOT
+ TreeNode root = new TreeNode(Integer.parseInt(vals[0]));
+ treeList.add(root);
+
+ int index = 0;
+ boolean isLeftChild = true;
+ for (int i = 1; i < vals.length; i++) {
+ if (!vals[i].equals("#")) {
+ TreeNode node = new TreeNode(Integer.parseInt(vals[i]));
+ if (isLeftChild) {
+ treeList.get(index).left = node;
+ } else {
+ treeList.get(index).right = node;
+ }
+ treeList.add(node);
+ }
+
+ // LEVEL
+ if (!isLeftChild) {
+ index++;
+ }
+
+ // MOVE TO RIGHT OR NEXT LEVEL
+ isLeftChild = !isLeftChild;
+ }
+
+ return root;
+
+ }
+
+ private List> levelOrder(TreeNode root) {
+ Queue queue = new LinkedList();
+ List> rs = new ArrayList>();
+
+ // NULL CHECK
+ if (root == null) {
+ return rs;
+ }
+
+ queue.offer(root);
+
+ while (!queue.isEmpty()) {
+ int length = queue.size();
+ List list = new ArrayList();
+
+ for (int i = 0; i < length; i++) {
+ TreeNode curTN = queue.poll();
+ list.add(curTN.val);
+ if (curTN.left != null) {
+ queue.offer(curTN.left);
+ }
+ if (curTN.right != null) {
+ queue.offer(curTN.right);
+ }
+ }
+
+ rs.add(list);
+ }
+
+ return rs;
+ }
+}