[LeetCode]Convert Sorted List to Binary Search Tree

来源:互联网 发布:矩阵的合同是什么 编辑:程序博客网 时间:2024/06/06 02:31
解题思路:
1,中叙遍历
2,记录list的长度

public class Solution {    private ListNode list;        public TreeNode sortedListToBST(ListNode head) {                int num = 0;        ListNode p = head;        while(p != null){            p = p.next;            num += 1;        }        list = head;                return sortedListToBST(0, num-1);    }        private TreeNode sortedListToBST(int start, int end){        if (start > end) return null;        int mid = (start + end) / 2;        TreeNode leftTree = sortedListToBST(start, mid-1);        TreeNode node = new TreeNode(list.val);        node.left = leftTree;        list = list.next;        node.right = sortedListToBST(mid+1, end);                return node;    }}


0 0
原创粉丝点击