dqpfkzu360216 2016-03-18 04:21
浏览 73

如何在golang中合并两棵树?

The tree struct is below:

 type TreeData struct {
    Name          string      `json:"name"`
    Depth         int         `json:"depth"`
    Children      []TreeData  `json:"children"`
}

I have two trees, and I want merge them into one tree. How can I do that?
If someone could show me your code, I would be very appreciate!!
I wonder if I could use the recursion way to finish the merge?

treeone:

{
     "name": ".",
     "depth": 1,
     "children": [
         {
             "name": "com",
             "depth": 2,
             "children": [
                 {
                     "name": "didi"
                     "depth": 3,
                     "children": [
                         {
                             "name": "dev",
                             "depth": 4,
                             "children": null
                         }
                     ]
                 }
             ]
         }
     ]
}

treetwo:

{
     "name": ".",
     "depth": 1,
     "children": [
         {
             "name": "com",
             "depth": 2,
             "children": [
                 {
                     "name": "didi"
                     "depth": 3,
                     "children": [
                         {
                             "name": "influxdb",
                             "depth": 4,
                             "children": [
                                 {
                                     "name": "cluster-one"
                                     "depth": 5
                                     "children": null
                                 }
                             ]    
                         } 
                     ]
                 }
             ]
         }
     ]
}

merge:

{
     "name": ".",
     "depth": 1,
     "children": [
         {
             "name": "com",
             "depth": 2,
             "children": [
                 {
                     "name": "didi"
                     "depth": 3,
                     "children": [
                         {
                             "name": "influxdb",
                             "depth": 4,
                             "children": [
                                 {
                                     "name": "cluster-one"
                                     "depth": 5
                                     "children": null
                                 }
                             ]
                         },
                         {
                            "name": "dev",
                            "depth": 4,
                            "children": null
                         }
                     ]
                 }
             ]
         }
     ]
}
  • 写回答

1条回答 默认 最新

  • dongmingxiang0312 2016-03-18 07:49
    关注

    I find a good solution for golang to create a tree!! http://blog.csdn.net/xtxy/article/details/50812392

    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100