File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -359,6 +359,51 @@ func deleteNode1(root *TreeNode)*TreeNode{
359
359
}
360
360
```
361
361
362
+ JavaScript版本
363
+
364
+ > 递归
365
+
366
+ ```javascript
367
+ /* *
368
+ * Definition for a binary tree node.
369
+ * function TreeNode(val, left, right) {
370
+ * this.val = (val===undefined ? 0 : val)
371
+ * this.left = (left===undefined ? null : left)
372
+ * this.right = (right===undefined ? null : right)
373
+ * }
374
+ */
375
+ /* *
376
+ * @param {TreeNode} root
377
+ * @param {number} key
378
+ * @return {TreeNode}
379
+ */
380
+ var deleteNode = function (root, key) {
381
+ if (root === null)
382
+ return root;
383
+ if (root.val === key) {
384
+ if (!root.left)
385
+ return root.right;
386
+ else if (!root.right)
387
+ return root.left;
388
+ else {
389
+ let cur = root.right;
390
+ while (cur.left) {
391
+ cur = cur.left;
392
+ }
393
+ cur.left = root.left;
394
+ let temp = root;
395
+ root = root.right;
396
+ delete root;
397
+ return root;
398
+ }
399
+ }
400
+ if (root.val > key)
401
+ root.left = deleteNode(root.left, key);
402
+ if (root.val < key)
403
+ root.right = deleteNode(root.right, key);
404
+ return root;
405
+ };
406
+ ```
362
407
363
408
364
409
You can’t perform that action at this time.
0 commit comments