《Go官方指南》(并发)练习:等价二叉查找树

练习:等价二叉查找树:

题目原链接

方法一:使用go

思路:

  1. 准备两个信道
  2. 两棵树分别同时写入自己的信道,写入一个数据后立刻读出数据 (为使该步骤顺利进行,需要将两个Walk加上go
  3. 对比读出的数据,一旦数据不同 return false

为什么选择没有缓冲的信道?

  • 防止出现ch1在读出第1个数据,ch2已经在读出第2个数据的情况,那样会误判为数据不一样return false
package main

import (
	"fmt"
	"golang.org/x/tour/tree"
)

// Walk 步进 tree t 将所有的值从 tree 发送到 channel ch。
func Walk(t *tree.Tree, ch chan int) {
   
	// 	输出左边;
	if nil != t.Left {
   
		Walk(t.Left, ch)
	}
	// 输出中间;
	ch <- t.</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值