public void TestPathSumIII() { //懒到只想一次弄完=-= var root = new TreeNode <int>(10) .AddChildrenNode( new TreeNode <int>(5) .AddChildrenNode( new TreeNode <int>(3) .AddChildrenNode(new TreeNode <int>(3), new TreeNode <int>(-2)), new TreeNode <int>(2) .AddChildrenNode(null, new TreeNode <int>(1))), new TreeNode <int>(-3) .AddChildrenNode(null, new TreeNode <int>(11))); var demo = new PathSumIII(); var simple = demo.Simple(root, 8); _output.WriteLine($"simple:{simple}"); Assert.Equal(3, simple); var nextRoot = new TreeNode <int>(8) .AddChildrenNode( new TreeNode <int>(-2) .AddChildrenNode( new TreeNode <int>(2), new TreeNode <int>(8)), new TreeNode <int>(3)); var next = demo.Simple(nextRoot, 6); _output.WriteLine($"simple:{next}"); }
public void PathSumTests() { PathSumIII obj = new PathSumIII(); TreeNode node = new TreeNode(1) { left = new TreeNode(2) { left = new TreeNode(4), right = new TreeNode(5) }, right = new TreeNode(3) { } }; var x = obj.PathSum(node, 7);//2 var i = Helpers.GenerateBinaryTree(new int?[] { 10, 5, -3, 3, 2, null, 11, 3, -2, null, 1 }); //Return 3.The paths that sum to 8 are: //1. 5-> 3 //2. 5-> 2-> 1 //3. - 3-> 11 x = obj.PathSum(i, 8);//3 node = new TreeNode(1) { }; x = obj.PathSum(node, 0);//0 }