From caf3d02f146028116aa78365cdb6e645da5e582e Mon Sep 17 00:00:00 2001 From: rihib Date: Wed, 16 Oct 2024 22:21:16 +0900 Subject: [PATCH] pullrequests/same_tree --- pullrequests/same_tree/step1.go | 29 +++++++++++++++++++++++++++++ pullrequests/same_tree/step2.go | 20 ++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 pullrequests/same_tree/step1.go create mode 100644 pullrequests/same_tree/step2.go diff --git a/pullrequests/same_tree/step1.go b/pullrequests/same_tree/step1.go new file mode 100644 index 0000000..11cc70d --- /dev/null +++ b/pullrequests/same_tree/step1.go @@ -0,0 +1,29 @@ +//lint:file-ignore U1000 Ignore all unused code +package sametree + +type TreeNode struct { + Val int + Left *TreeNode + Right *TreeNode +} + +/* +レビュワーの方へ: + - このコードは既にGoの標準のフォーマッタで整形済みです。演算子の周りにスペースがあったりなかったりしますが、これはGoのフォーマッタによるもので、優先順位の高い演算子の周りにはスペースが入らず、低い演算子の周りには入るようになっています。https://qiita.com/tchssk/items/77030b4271cd192d0347 +*/ + +/* +時間:3分30秒 +*/ +func isSameTreeStep1(p *TreeNode, q *TreeNode) bool { + if p == nil && q == nil { + return true + } + if p == nil || q == nil { + return false + } + if p.Val != q.Val { + return false + } + return isSameTreeStep1(p.Left, q.Left) && isSameTreeStep1(p.Right, q.Right) +} diff --git a/pullrequests/same_tree/step2.go b/pullrequests/same_tree/step2.go new file mode 100644 index 0000000..dc78ebb --- /dev/null +++ b/pullrequests/same_tree/step2.go @@ -0,0 +1,20 @@ +//lint:file-ignore U1000 Ignore all unused code +package sametree + +/* +レビュワーの方へ: + - このコードは既にGoの標準のフォーマッタで整形済みです。演算子の周りにスペースがあったりなかったりしますが、これはGoのフォーマッタによるもので、優先順位の高い演算子の周りにはスペースが入らず、低い演算子の周りには入るようになっています。https://qiita.com/tchssk/items/77030b4271cd192d0347 +*/ + +/* +リファクタした。 +*/ +func isSameTreeStep2(p *TreeNode, q *TreeNode) bool { + if p == nil && q == nil { + return true + } + if p == nil || q == nil || p.Val != q.Val { + return false + } + return isSameTreeStep2(p.Left, q.Left) && isSameTreeStep2(p.Right, q.Right) +}