关注
Given a singly linked list where
elements are sorted in ascending order, convert it to a height
balanced BST。提交的就是下面的,注释掉的也是对的,开始是注释掉的那种,然后改成了这种。
public class Solution {
public TreeNode sortedListToBST(ListNode head) {
if(head == null) return null;
if(head.next == null) return new
TreeNode(head.val);
ArrayList<Integer> list=new
ArrayList<Integer>();
while(head!=null)
{
list.add(head.val);
head=head.next;
}
return buildToBST(list,0,list.size()-1);
}
private TreeNode buildToBST(ArrayList<Integer>
list, int start, int end) {
if(end<start)return null;
int mid=(start+end+1)/2;//题目中是要求偶数时候,中间2个,选后面那个数
TreeNode root = new TreeNode(list.get(mid));
root.left=buildToBST(list,start,mid-1);
root.right=buildToBST(list,mid+1,end);
return root;
}
// public TreeNode sortedListToBST(ListNode head)
{//这个也是对的,没有上面的那个快
// if(head == null) return null;
// if(head.next == null) return new
TreeNode(head.val);
// ListNode mid = head;
// ListNode end = head;
// ListNode preMid = null;
// while (end != null && end.next != null)
{//每一次都循环快慢指针找中点
// preMid = mid;
// mid = mid.next;
// end = end.next.next;
// }
// TreeNode root = new TreeNode(mid.val);
// preMid.next = null;
// root.left = sortedListToBST(head);
// root.right = sortedListToBST(mid.next);
// return root;
// }
}
查看原帖
点赞 评论
相关推荐
07-08 12:20
郑州大学 材料工程师 码农索隆:看我帖子https://www.nowcoder.com/discuss/764127692135370752,神州信息那个2B董成杰,我离职的时候,直接干他干了一仗
点赞 评论 收藏
分享
05-28 16:06
山东大学(威海) 测试开发 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 技术岗笔试题求解 #
77597次浏览 1005人参与
# 拼多多求职进展汇总 #
642348次浏览 4983人参与
# 工作一周年分享 #
30698次浏览 179人参与
# 如果公司给你放一天假,你会怎么度过? #
16250次浏览 122人参与
# 作业帮求职进展汇总 #
55758次浏览 370人参与
# 华子oc时间线 #
1236419次浏览 6473人参与
# OPPO求职进展汇总 #
662180次浏览 5032人参与
# 总结:哪家公司面试体验感最差 #
60476次浏览 273人参与
# 职场上哪些事情令人讨厌 #
18719次浏览 91人参与
# 三一重工求职进展汇总 #
14313次浏览 65人参与
# 去年你投递实习了吗? #
21995次浏览 329人参与
# 这些公司卡简历很严格 #
41290次浏览 204人参与
# 扒一扒那些奇葩实习经历 #
66306次浏览 913人参与
# 经纬恒润求职进展汇总 #
121666次浏览 1032人参与
# 提前批过来人的忠告 #
113864次浏览 1194人参与
# 说说你知道的学历厂 #
58392次浏览 351人参与
# 秋招最大的收获是什么? #
36871次浏览 311人参与
# 找工作时的取与舍 #
80012次浏览 566人参与
# 你认为小厂实习有用吗? #
29317次浏览 341人参与
# 哪一瞬间觉得自己长大了 #
13908次浏览 327人参与