package test;
import java.util.Arrays;
public class Test2 {
static class Node{
int value = -1;
Node lnext = null;
Node rnext = null;
public Node(int i){
value = i;
}
@Override
public String toString() {
return value+"";
}
}
static void solve(Node n){
Node[] stack = new Node[100];
int sum = 0;
int cur_sum = 0;
int top = -1;
do{
while(n!=null){
top++;
stack[top] = n;
cur_sum = cur_sum*10+n.value;
n = n.lnext;
}
Node p = null;
boolean flag = true;
while(top>-1 && flag){
n = stack[top];
if(n.rnext==p){
if(n.rnext==null && n.lnext==null){
sum += cur_sum;
}
top--;
cur_sum = (cur_sum-n.value)/10;
p = n;
}else{
n = n.rnext;
flag = false;
}
}
}while(top>-1);
System.out.println(sum);
}
public static void main(String[] args) {
Node root1 = new Node(1);
Node n1 = new Node(2);
Node n2 = new Node(4);
root1.lnext = n1;
root1.rnext = n2;
Node n3 = new Node(3);
Node n4 = new Node(5);
n1.lnext = n3;
n1.rnext = n4;
Node n5 = new Node(6);
Node n6 = new Node(7);
n2.lnext = n5;
n2.rnext = n6;
//solve(root1,3);
Node[] arr = new Node[10];
solve(root1);
//System.out.println(Arrays.toString(stack));
//System.out.println(solve(root1,11).value);
//System.out.println(solve(root1));
}
}
带权二叉树路径所代表的所有整数和
最新推荐文章于 2024-08-11 21:42:47 发布