/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
* 2.curSum>exceptedSum:return;
* 3.curSum<exceptedSum:push the node to path,continue in LeftTree and RightTree
*/
public void findSubTree(Node curNode,int exceptedSum){
Node pathNode=null;
int curSum=0;
findSubTreeHelp(curNode,pathNode,curSum,exceptedSum);
}
public void findSubTreeHelp(Node curNode,Node pathNode,int curSum,int exceptedSum){
curSum+=curNode.getVal();
if(curSum>exceptedSum){
return;
}
Node newNode=new Node(curNode.getVal());
if(pathNode==null){
pathNode=newNode;
}else{
pathNode.right=newNode;
newNode.left=pathNode;
pathNode=newNode;
}
if(curSum==exceptedSum){
if(curNode.getLeft()==null&&curNode.getRight()==null){
printPath(pathNode);
}else{
pathNode=deletePathNode(pathNode);
}
}
if(curSum<exceptedSum){
if(curNode.getLeft()!=null){
findSubTreeHelp(curNode.getLeft(),pathNode,curSum,exceptedSum);
}
if(curNode.getRight()!=null){
findSubTreeHelp(curNode.getRight(),pathNode,curSum,exceptedSum);
}
}
}
public Node deletePathNode(Node node){
Node pathNode=node.getLeft();
pathNode.right=null;
return pathNode;
}
public void printPath(Node node){
if(node==null)return;
while(node.getLeft()!=null){
node=node.getLeft();
}
while(node!=null){
System.out.print(node.getVal()+",");
node=node.getRight();
}
System.out.println();
}
分享到:
相关推荐
新北师大版二元一次方程知识点总结--经典.doc
有心者 10074--农业二元结构对中国农产品出口贸易的影响--正文.zip
表格 B-4. 参数替换和扩展 表格 B-5. 字符串操作 表格 B-6. 一些结构的汇总 表格 C-1. 基本sed操作 .. 表格 C-2. sed操作符举例 . C.2. Awk .. 表格 D-1. "保留的"退出码 Appendix E. I/O和I/O 重定向的详细介绍...
有心者 10074--农业二元结构对中国农产品出口贸易的影响--正文-论文.zip
二元函数极限不存在的证明方法-论文.zip
二元霍夫曼,全部在压缩包里面,打开可是使用测试
故障树分析法在实施过程中会遇到计算量大的问题,二元决策图是解决这个问题的一种新途径。故障树转化为二元决策图涉及的一个关键问题就是对基本事件的排序,但是基本事件排序是一个NP问题。为了解决这个问题提出了一...
1.2.5. 在二元树中找出和为某一值的所有路径 .............................................. 22 1.2.6. Top K 算法详细解析---百度面试 ......................................................... 29 1.2.7. ...
对于含有n个内节点的二元树,证明E=I+2n。其中E、I分别为外部和内部路径长度。
运用Chan-Games给出了当k=4或5时,F2上固定线性复杂度为2n-2m-1的2n-周期二元序列的k-错线性复杂度所有可能值,LCk(s)=0或LCk(s)=2n-2m-2r 1 c,LCk(s)=2n-2r 1 c。这一结果对流密码稳定性的研究有重要的应用...
八级数学下册.二元二次方程组的解法练习(无答案)沪教版五四制-精.docx
当需要运行某些程序命令时会先在当前文件夹中寻找,如果当前目录下找不到,就会到设置的默认路径中去查找,如果发现在默认路径中找到程序的位置,就直接运行,这样就实现程序命令随叫随到。这个“默认路径”就是环境...
Java实现蓝桥杯VIP算法训练 二元函数,使用Java实现二元函数
Java解二元一次不定方程[axbyc].doc
初中二元一次方程组题---100道--附带答案.doc
4.在二元树中找出和为某一值的所有路径(树) 题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如 输入整数22和如下...
巴克莱-美股-股票策略-美国股票策略:二元风险-17-25页.pdf
初学JAVA自己写的一个二元一次方程求解的程序,比较简单,适合初学者看看
1: 基本的一元( ,根号)及二元运算(—+-*/)。 2: 支持累计运算(累加,累减,累乘,累除)。 3: 支持大数操作,数据范围在10的8000次方范围内。在超过10的8千次左右时,判其溢出。 4: 支持科学计数法(小数...
针对一个二元通信系统中的两个观测模型设计奈曼-皮尔逊接收机,在已知错误判决概率的约束条件下,确定检测概率。用matlab程序实现。