算法
递归交换左右子树即可
/**
* @param {TreeNode} root
* @return {TreeNode}
*/
var invertTree = function(root) {
if (root === null) {
return null;
}
let temp=root.left;
root.left=root.right;
root.right=temp;
root.right=invertTree(root.right);
root.left=invertTree(root.left);
return root;
};
ts
ConCat
// ============= Test Cases =============
import type { Equal, Expect } from './test-utils'
type cases = [
Expect<Equal<Concat<[], []>, []>>,
Expect<Equal<Concat<[], [1]>, [1]>>,
Expect<Equal<Concat<[1, 2], [3, 4]>, [1, 2, 3, 4]>>,
Expect<Equal<Concat<['1', 2, '3'], [false, boolean, '4']>, ['1', 2, '3', false, boolean, '4']>>,
]
// ============= Your Code Here =============
// 利用解构符号...实现
type Concat<T extends any[], U extends any[]> = [...T,...U]