首页 > 代码库 > 【leetcode】Convert Sorted List to Binary Search Tree
【leetcode】Convert Sorted List to Binary Search Tree
问题:
给定一个有序链表,生成对应的平衡二叉搜索树。
分析
见Convert Sorted Array to Binary Search Tree
实现:
TreeNode *buildTree(ListNode* head, ListNode *end){ if(head == NULL || head == end) return NULL; ListNode* fast = head; ListNode* slow = head; //get the middle //notice: != end, not != NULL while(fast != end && fast->next != end){ fast = fast->next->next; slow = slow->next; } TreeNode *root = new TreeNode(slow->val); root->left = buildTree(head, slow); root->right = buildTree(slow->next, end); return root; } TreeNode *sortedListToBST(ListNode *head) { if(head == NULL) return NULL; return buildTree(head, NULL); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。