9.14 小米软开笔试

单选11+多选9+编程2

选择题有一些操作系统的不太了解,其他难度不大

编程题
1. 局部反转链表(lc原题,java核心代码模式)
public ListNode<Integer> reverseBetween(ListNode<Integer> head, int left, int right) {
    ListNode dummyHead = new ListNode();
    dummyHead.next = head;
    ListNode p = dummyHead;
    ListNode q = dummyHead.next;
    for (int i = 0; i < left - 1; i++) {
        p = p.next;
        q = q.next;
    }
    for (int i = 0; i < right - left; i++) {
        ListNode moved = q.next;
        q.next = q.next.next;
        moved.next = p.next;
        p.next = moved;
    }
    return dummyHead.next;
}



2. 二叉搜索树转换为双向链表,空间O(1),时间O(n)
private Stack<Node> stack = new Stack<>();

public Node Convert(Node pRootOfTree) {
    dfs(pRootOfTree);
    Node right = null;
    Node result = null;
    while (!stack.isEmpty()) {
        Node node = stack.pop();
        node.right = right;
        right = node;
        if (!stack.isEmpty()) {
            node.left = stack.peek();
        }else {
            result = node;
            node.left = null;
        }
    }
    return result;
}

public void dfs(Node root) {
    if (root == null) {
        return;
    }
    dfs(root.left);
    stack.push(root);
    dfs(root.right);
}


#小米##笔试##秋招##校招##笔经#
全部评论
就是给JAVA岗做的,C/C++选择一堆JAVA题,第二个编程要自己建树自己写输入输出?
1 回复
分享
发布于 2022-09-14 21:05 陕西
这题就是给学JAVA的人做的,学C/C++的选择一堆JAVA题,编程第二个需要建树写输入输出?
1 回复
分享
发布于 2022-09-14 21:07 陕西
滴滴
校招火热招聘中
官网直投
第二题我的代码一直超时,结束了到leetcode提交直接ac。。
点赞 回复
分享
发布于 2022-09-14 23:20 四川
hi~同学,秋招遇“寒气”,牛客送温暖啦!23届秋招笔面经有奖征集中,参与就得牛客会员7天免费体验,最高赢300元京东卡!戳我去看>>>https://www.nowcoder.com/link/zhengjipinglun
点赞 回复
分享
发布于 2022-09-16 09:14 北京

相关推荐

大家收到面试预通知了吗?
投递中国邮政储蓄银行等公司7个岗位 >
点赞 评论 收藏
转发
1 9 评论
分享
牛客网
牛客企业服务