左の分岐から見たノードだけにアクセスしたいということですね。ポストオーダーなので、正しいブランチに戻ったら訪問する必要があります。したがって、πάντα ῥεῖ が言ったように、ノードを発見したブランチのタイプを示すブール値フラグを使用できます。
したがって、可能な方法は次のようになります。
using Node = BinaryTree <int>; // or another type supporting << operator
void printLeft(Node * root, bool from_left)
{
if (root == nullptr) // empty tree?
return;
printLeft(root->left, true); // this node must be visited in postorder
printLeft(root->right, false); // this one must not be visited in postorder
if (from_left) // was root seen from a left arc?
cout << root->getData() << "\t"; // visit only if was seen from a left branch
}
根っこに曖昧さがあります。左のブランチから到達していないため (右からも) 到達していないため、印刷してはいけないと思います。
したがって、最初の呼び出しは次のようになります。
printLeft(root, false);
検証と同じように、このツリーの場合:

アルゴリズムは、次のシーケンスを左ポストオーダー トラバーサルとして生成します。
0 1 4 3 8 9 12 11 16 18