2096-step-by-step-directions-from-a-binary-tree-node-to-another

DevGod needs to write a blog entry for this problem!
/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} root
 * @param {number} startValue
 * @param {number} destValue
 * @return {string}
 */
var getDirections = function(root, startValue, destValue) {
    
    let stack = [[root,'A']];
    let path1 = "";
    let path2 = "";
    let curPath = "";
    while(stack.length){
        let poopNode = stack.pop();
        curPath = poopNode[1];
        if(!poopNode[0]){ continue; }
        if(poopNode[0].val === startValue){ path1 = curPath; }
        if(poopNode[0].val === destValue){ path2 = curPath; }
        
        if(poopNode[0].left){
            stack.push([poopNode[0].left,curPath+'L']);
        }
        if(poopNode[0].right){
            stack.push([poopNode[0].right,curPath+'R']);
        }
    }

    let a = 0;
    while(path1[a] === path2[a]){ a++; }

    path1 = path1.substring(a,path1.length);
    path2 = path2.substring(a,path2.length);

    return Array(path1.length).fill('U').join("") + path2;
};