public int maxPathNotRoot(treeNode curRoot) {
		this.running_time_NotRoot++;

		if (curRoot == null)
			return 0;

		if (curRoot.leftLeaf == null && curRoot.rightLeaf == null)
			return curRoot.value;

		int leftMax = maxPathNotRoot(curRoot.leftLeaf);
		int rightMax = maxPathNotRoot(curRoot.rightLeaf);

		return (leftMax >= rightMax ? (leftMax + curRoot.value)
				: (rightMax + curRoot.value));
	}