AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 商店
  • 应用
  • 文章
    • 题解
    • 分享
    • 问答
  • 吐槽
  • 登录/注册

LeetCode 1305. 两棵二叉搜索树中的所有元素C#    原题链接    中等

作者: 作者的头像   hpstory ,  2022-08-02 16:20:03 ,  所有人可见 ,  阅读 24


1


C# 代码

public class Solution {
    public IList<int> GetAllElements(TreeNode root1, TreeNode root2) {
        List<int> list1 = new List<int>();
        List<int> list2 = new List<int>();
        InOrder(root1, list1);
        InOrder(root2, list2);
        int n = list1.Count, m = list2.Count;
        List<int> result = new List<int>();

        int i = 0, j = 0;
        while (i < n && j < m){
            if (list1[i] < list2[j]){
                result.Add(list1[i++]);
            }
            else{
                result.Add(list2[j++]);
            }
        }

        while (i < n) result.Add(list1[i++]);
        while (j < m) result.Add(list2[j++]);

        return result;
    }

    private void InOrder(TreeNode root, List<int> list){
        if (root != null){
            InOrder(root.left, list);
            list.Add(root.val);
            InOrder(root.right, list);
        }
    }
}

0 评论

你确定删除吗?
1024
x

© 2018-2022 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息