12
返回列表 发新帖
楼主: fmy9209
跳转到指定楼层
上一主题 下一主题
收起左侧

Bloomberg跪经 Mar 23

🔗
1peter 2016-3-25 11:58:01 | 只看该作者
全局:
我怎么感觉把down替换成left,next替换成right,这就是一道pre order traversal 呢。不就是换了个variable 那么吗?
回复

使用道具 举报

🔗
houqingniao 2016-3-26 06:08:03 | 只看该作者
全局:
1peter 发表于 2016-3-25 11:58
我怎么感觉把down替换成left,next替换成right,这就是一道pre order traversal 呢。不就是换了个variable  ...

是的!精辟!
回复

使用道具 举报

全局:
感觉确实就是:https://leetcode.com/problems/flatten-binary-tree-to-linked-list/ 然后left变成了down,right变成了next。
public class FlattenDownTree{

        public void flatten (TreeNode root) {
            if (root.down!= null) {
              ListNode temp = root.next;
              root.next = root.down;
              ListNode nextRoot = root.next;

              root.down = null;

             while (root.next != null) {
                    root = root.next;
             }
             root.next = temp;

             flatten(nextRoot);

            }else {
             flatten (root.next);
            }
        }
}

回复

使用道具 举报

🔗
cicean 2016-9-21 11:09:48 | 只看该作者
全局:
估计 O(1) 就是每次 CustomLinkedNode node = head.down;
开个辅助接点,就叫O(1)
stack 要存O(h)
回复

使用道具 举报

🔗
xuqicx23 2016-9-25 06:38:36 | 只看该作者
全局:
public void flatteNode(Node l) {
        if (l == null) {
            return;
        }
        flathelper(l);
    }
    public Node flathelper(Node root) {
        if (root == null) {
            return null;
        }
        if (root.next == null && root.down == null) {
            return root;
        }
        if (root.down == null) {
            return flathelper(root.next);
        }
        if (root.next == null) {
            root.next = root.down;
            root.down = null;
            return flathelper(root.next);
        }
        Node leftLast = flathelper(root.down);
        Node rightlast = flathelper(root.next);
        leftLast.next = root.next;
        root.next = root.down;
        root.down = null;
        return rightlast;
    }
回复

使用道具 举报

🔗
何打发123 2016-9-25 07:48:02 | 只看该作者
全局:
感谢分享~ 请问这题复杂度是O(n)吗 0.0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表