糖醋里脊

有召唤,爱自由.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Convert Sorted List to Binary Search Tree java

Posted on 2015-02-15 23:48  糖醋里脊er  阅读(225)  评论(0)    收藏  举报
 1 public TreeNode sortedListToBST(ListNode head) {
 2          if(head==null) return new TreeNode(0);
 3             ArrayList<TreeNode> arr=new  ArrayList<TreeNode>();
 4             while(head!=null)
 5             {
 6                 arr.add(new TreeNode(head.val));
 7                 head=head.next;
 8             }
 9             
10            return  BST(arr,0,arr.size()-1);
11         }
12      TreeNode BST(ArrayList<TreeNode> list,int start,int end)
13      {
14          if(start>=end)
15          {
16              return list.get(start);
17          }
18          else
19          {
20              int mid=start+(end-start)/2;
21              TreeNode root=list.get(mid);
22              root.left=BST(list,start,mid-1);
23              root.right=BST(list,mid+1,end);
24              
25              return root;
26          }
27      }