二叉树的性质,只有左右两个节点。
公共节点只有两种情况。

  1. package main
    

/**

  • @param arr int整型一维数组 the array
  • @return int整型
    */
    func maxLength( arr []int ) int {
    // write code here
    maxLen := 0
    len := 0
    left := -1
    valueMap := make(map[int]int)
    for idx, a := range arr {
     if valueIdx, ok := valueMap[a]; !ok || valueMap[a] == -1 {
         len++
     } else {
         if valueIdx > left {
             left = valueIdx
         }
         len  = idx - left
     }
     valueMap[a] = idx
     if maxLen < len {
         maxLen = len
     }
    }
    return maxLen
    }
    ```