【LeetCode热题100(45/100)】二叉树展开为链表
题目地址:链接
思路: 每次遍历时,获取左右节点展开为链表的内容,将左节点接到父亲对右节点,原父节点接到上述左节点的最右节点
/*** 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* @return {void} Do not return anything, modify root in-place instead.*/
var flatten = function(root) {const dfs = (root) => {if(!root) return null;let p = root;let [left, right] = [root.left, root.right];left = dfs(left);right= dfs(right);p.left = null;p.right = left;while(p.right) p = p.right;p = right;return root;}dfs(root);
};