Skip to content

Instantly share code, notes, and snippets.

@CollinShoop
Created January 23, 2022 03:48
Show Gist options
  • Save CollinShoop/e16518af3352e4e2c0b28cb5d0adc290 to your computer and use it in GitHub Desktop.
Save CollinShoop/e16518af3352e4e2c0b28cb5d0adc290 to your computer and use it in GitHub Desktop.
https://leetcode.com/problems/symmetric-tree/ -- Definitely seems more like a medium
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isSymmetric(root *TreeNode) bool {
if root == nil {
return true
}
var helper func(left *TreeNode, right *TreeNode) bool
helper = func(left *TreeNode, right *TreeNode) bool {
if left == nil || right == nil {
// both nil or wrong
return left == nil && right == nil
} else if left.Val != right.Val {
return false
}
return helper(left.Left, right.Right) && helper(left.Right, right.Left)
}
return helper(root.Left, root.Right)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment