标签:val bsp contain nta main for sharp string exp
Given a tree string expression in balanced parenthesis format:
[A[B[C][D]][E][F]].
Construct a tree and return the root of the tree.
A
/ | \
B E F
/ \
C D
public void buildGra(String s) {
int count = 0;
Map<Integer, ArrayList<Node>> map = new HashMap<>();
for (char c : s.toCharArray()) {
if (c == ‘[‘) {
count++;
} else if (c == ‘]‘) {
count--;
} else {
if (!map.containsKey(count)) {
map.put(count, new ArrayList<Node>());
}
Node n = new Node(c);
map.get(count).add(n);
if (map.containsKey(count - 1)) {
ArrayList<Node> cur = map.get(count - 1);
cur.get(cur.size() - 1).children.add(n);
}
}
}
Node root = map.get(1).iterator().next();
for (int i = 0; i < root.children.size(); i++) {
Node nn = root.children.get(i);
System.out.println(nn.val);
root = nn;
}
}
public static void main(String[] args) {
String s = "[A[B[C][D]][E][F]]";
Groph g = new Groph();
g.buildGra(s);
}
build tree with balanced parenthesis
标签:val bsp contain nta main for sharp string exp
原文地址:http://www.cnblogs.com/apanda009/p/7965405.html