diff --git a/group01/280646174/basic/src/main/java/com/coding2017/basic/BinaryTreeNode.java b/group01/280646174/basic/src/main/java/com/coding2017/basic/BinaryTreeNode.java index 29910f06a3..acf4798b9e 100644 --- a/group01/280646174/basic/src/main/java/com/coding2017/basic/BinaryTreeNode.java +++ b/group01/280646174/basic/src/main/java/com/coding2017/basic/BinaryTreeNode.java @@ -2,19 +2,35 @@ public class BinaryTreeNode { - private Object data; + private Integer data; private BinaryTreeNode left; private BinaryTreeNode right; - public BinaryTreeNode insert(Object o) { - return null; + public BinaryTreeNode insert(Integer o) { + if (o <= data) { + if (left == null) { + left = new BinaryTreeNode(o); + return left; + } + return left.insert(o); + } else { + if (right == null) { + right = new BinaryTreeNode(o); + return right; + } + return right.insert(o); + } } - public Object getData() { + public BinaryTreeNode(Integer data) { + this.data = data; + } + + public Integer getData() { return data; } - public void setData(Object data) { + public void setData(Integer data) { this.data = data; } @@ -34,4 +50,8 @@ public void setRight(BinaryTreeNode right) { this.right = right; } + @Override + public String toString() { + return data + " " + left + " " + right; + } } diff --git a/group01/280646174/basic/src/test/java/com/coding2017/basic/BinaryTreeNodeTest.java b/group01/280646174/basic/src/test/java/com/coding2017/basic/BinaryTreeNodeTest.java new file mode 100644 index 0000000000..3a9877c596 --- /dev/null +++ b/group01/280646174/basic/src/test/java/com/coding2017/basic/BinaryTreeNodeTest.java @@ -0,0 +1,24 @@ +package com.coding2017.basic; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Created by kaitao.li on 17/2/24. + */ +public class BinaryTreeNodeTest { + + @Test + public void insert() throws Exception { + BinaryTreeNode binaryTreeNode = new BinaryTreeNode(5); + binaryTreeNode.insert(4); + binaryTreeNode.insert(6); + binaryTreeNode.insert(5); + assertTrue(binaryTreeNode.getLeft().getData() == 4); + assertTrue(binaryTreeNode.getRight().getData() == 6); + assertTrue(binaryTreeNode.getLeft().getRight().getData() == 5); + System.out.println(binaryTreeNode); + } + +} \ No newline at end of file