[leetcode] 1457. Pseudo-Palindromic Paths in a Binary Tree 힌트
var pseudoPalindromicPaths = function(root) {
const set = new Set([root.val]);
let res = 0;
dfs(root);
return res;
function dfs(cur) {
if (isLeaf(cur)) {
res = set.size < 2 ? res + 1 : res;
return
} else {
cur.left && addOrDelete(cur.left);
cur.right && addOrDelete(cur.right);
}
}
function isLeaf(cur) {
return !cur.left && !cur.right;
}
function addOrDelete(cur) {
if (set.has(cur.val)) {
set.delete(cur.val);
dfs(cur);
set.add(cur.val);
} else {
set.add(cur.val);
dfs(cur);
set.delete(cur.val);
}
}
};