Convert Sorted List to Binary Search Tree

来源:互联网 发布:java前后端分离session 编辑:程序博客网 时间:2024/05/18 01:05
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.

思路1:最笨的方法,每次插入然后调整

思路2:由于是升序有序的,所以子树的根节点必然是中间的那个数,所以可以通过找到子链表的中间节点,两边递归实现

找到链表中间节点的方法:
auto pre = head;
auto slow = head;
auto fast = head;
while( fast && fast->next ){
pre = slow;
slow = slow->next;
fast = fast->next->next;
}
0 0
原创粉丝点击