2 Star 1 Fork 0

royce li/Leetcode_royce

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
sortedListToBST.ts 1.48 KB
一键复制 编辑 原始数据 按行查看 历史
royce li 提交于 2021-07-15 13:19 . WXG实习摸鱼日常
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
*/
/**
* Definition for a binary tree node.
* class TreeNode {
* val: number
* left: TreeNode | null
* right: TreeNode | null
* constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
* }
*/
function sortedListToBST(head: ListNode | null): TreeNode | null {
if(!head){
return null;
}
if(!head.next){
return new TreeNode(head.val);
}
let slow: ListNode | null = head,fast: ListNode | null = head.next;
while(fast && fast.next && fast.next.next){
fast = fast.next.next;
slow = slow.next;
}
let m: ListNode = slow.next;
let node: TreeNode = new TreeNode(m.val);
slow.next = null;
node.left = sortedListToBST(head);
node.right = sortedListToBST(m.next);
return node;
};
// 执行用时:
// 84 ms
// , 在所有 TypeScript 提交中击败了
// 100.00%
// 的用户
// 内存消耗:
// 43.1 MB
// , 在所有 TypeScript 提交中击败了
// 100.00%
// 的用户
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/royce-li/leetcode_royce.git
git@gitee.com:royce-li/leetcode_royce.git
royce-li
leetcode_royce
Leetcode_royce
master

搜索帮助