public void InvertTreeTest() { var s = new Solution(); TreeNode root, expected; root = TreeNode.Build(4, 2, 7, 1, 3, 6, 9); expected = TreeNode.Build(4, 7, 2, 9, 6, 3, 1); Assert.Equal(expected, s.InvertTree(root)); }
public void SearchBSTTest() { var s = new Solution(); TreeNode root, expected; int val; root = TreeNode.Build(4, 2, 7, 1, 3); val = 2; expected = TreeNode.Build(2, 1, 3); Assert.Equal(expected, s.SearchBST(root, val)); }
public void BstFromPreorderTest() { var s = new Solution(); int[] preorder; TreeNode expected; preorder = new int[] { 8, 5, 1, 7, 10, 12 }; expected = TreeNode.Build(8, 5, 10, 1, 7, null, 12); Assert.Equal(expected, s.BstFromPreorder(preorder)); }
public void IsCousinsTest() { var s = new Solution(); TreeNode root; root = TreeNode.Build(1, 2, 3, 4); Assert.False(s.IsCousins(root, 4, 3)); root = TreeNode.Build(1, 2, 3, null, 4, null, 5); Assert.True(s.IsCousins(root, 5, 4)); root = TreeNode.Build(1, 2, 3, null, 4); Assert.False(s.IsCousins(root, 2, 3)); root = TreeNode.Build(1, 2, 3, null, null, null, 4, 5); Assert.False(s.IsCousins(root, 1, 2)); }
public void ZigzagLevelOrderTest() { var s = new Solution(); TreeNode root; IList <IList <int> > expected; root = TreeNode.Build(3, 9, 20, null, null, 15, 7); expected = new List <IList <int> >() { new List <int> { 3 }, new List <int> { 20, 9 }, new List <int> { 15, 7 }, }; Assert.Equal(expected, s.ZigzagLevelOrder(root)); }
public void DiameterOfBinaryTreeTest() { var s = new Solution(); TreeNode head; var leftNode = new TreeNode(2, 4, 5); head = new TreeNode(1, leftNode, new TreeNode(3)); Assert.Equal(3, s.DiameterOfBinaryTree(head)); head = new TreeNode(1); Assert.Equal(0, s.DiameterOfBinaryTree(head)); head = new TreeNode(1, new TreeNode(2), null); Assert.Equal(1, s.DiameterOfBinaryTree(head)); head = TreeNode.Build(new int?[] { 4, -7, -3, null, null, -9, -3, 9, -7, -4, null, 6, null, -6, -6, null, null, 0, 6, 5, null, 9, null, null, -1, -4, null, null, null, -2 }); Assert.Equal(8, s.DiameterOfBinaryTree(head)); }
public void LevelOrderBottomTest() { var s = new Solution(); TreeNode root; List <List <int> > expected; root = null; expected = new List <List <int> >(); Assert.Equal(expected, s.LevelOrderBottom(root)); root = TreeNode.Build(3, 9, 20, null, null, 15, 7); expected = new List <List <int> > { new List <int> { 15, 7 }, new List <int> { 9, 20 }, new List <int> { 3 } }; Assert.Equal(expected, s.LevelOrderBottom(root)); }