4
int sumRootToLeaf(TreeNode *root) {6
stack<pair<TreeNode *, int>> s;9
TreeNode *p = s.top().first;10
int num = s.top().second;12
num = (num << 1) | p->val;13
if (p->left == NULL && p->right == NULL) sum += num;14
if (p->right) s.push({p->right, num});15
if (p->left) s.push({p->left, num});26
void preorder(TreeNode *root, int num) {27
if (root == NULL) return;28
num = (num << 1) | root->val;29
if (root->left == NULL && root->right == NULL) sum += num;30
preorder(root->left, num);31
preorder(root->right, num);33
int sumRootToLeaf(TreeNode *root) {