题解 | #找出字符串中第一个只出现一次的字符#普通思路

找出字符串中第一个只出现一次的字符

https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4

package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
    // 获取输入
    scan:=bufio.NewScanner(os.Stdin)
    scan.Scan()
    input:=scan.Text()
    // 创建一个map存储相关内容
    mymap:=make(map[rune]int)
    for _,v:=range input{
        mymap[v]++
    }

    // 找出只出现一次的字符
    var res []rune
    for k:=range mymap{
       if mymap[k]==1{
        res = append(res, k)
       }
    }
    // 数组为空输出-1
    if len(res)==0{
        fmt.Println(-1)
    }else{
        min:=1000
        for _,v:=range res{
            if strings.IndexRune(input, v)<min{
                min=strings.IndexRune(input, v)
            }
        }
        
        fmt.Printf("%c",input[min])
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务