import
java.util.*;
public
class
GFG {
static
ArrayList<ArrayList<Integer> > arr;
static
int
val[];
static
int
sum_odd =
0
, sum_even =
0
;
static
void
dfs(
int
u,
int
par,
int
level)
{
if
(level %
2
==
0
)
sum_even += val[u];
else
sum_odd += val[u];
for
(
int
v : arr.get(u)) {
if
(v != par) {
dfs(v, u, level +
1
);
}
}
}
public
static
void
main(String args[])
{
Scanner in =
new
Scanner(System.in);
int
n =
5
;
val =
new
int
[] {
0
,
2
,
10
,
5
,
3
,
2
};
arr =
new
ArrayList<>();
for
(
int
i =
0
; i <= n; i++)
arr.add(
new
ArrayList<>());
arr.get(
1
).add(
2
);
arr.get(
2
).add(
1
);
arr.get(
1
).add(
4
);
arr.get(
4
).add(
1
);
arr.get(
2
).add(
5
);
arr.get(
5
).add(
2
);
arr.get(
3
).add(
4
);
arr.get(
4
).add(
3
);
dfs(
1
, -
1
,
0
);
System.out.println(
"Absolute difference of sum of odd and even nodes of a binary tree "
+ Math.abs(sum_odd - sum_even));
}
}