257. 二叉树的所有路径
递归和回溯
回溯和递归是一一对应的,有一个递归,就要有一个回溯。
【诶,用JS好像没感觉到回溯?】
var binaryTreePaths = function(root) {
// 递归回溯法
let res =[];
// 1. 确定递归函数 函数参数
const getPath =function(node,curPath){
// 2. 找到终止条件
if(!node.left&&!node.right){
// 找到叶子节点,即找到本条路径终点
curPath +=node.val;
res.push(curPath);
return;
}
//3. 确定单层递归逻辑
curPath +=node.val+'->';
node.left&&getPath(node.left,curPath);
node.right&&getPath(node.right,curPath);
}
getPath(root,'');
return res;
};