第一个只出现一次的字符(一串字符串中某个字符只出现一次不算是)

--写的这个可以为查找某个字符在一串字符串中出现一次提供思路

题目:在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。

示例:

思路:

遍历字符串,找到字符串中某个前后索引一样的值(遍历查找字符第一次出现的位置是不是等于最后一次出现的位置,也就是索引值看是不是一样,如果一样那么代表它只出现了一次,也就是我们字符串中只出现一次的值)

代码:

package com.sinosoft.fis.modular.cus.controller;

import java.util.Scanner;

/**
 * @author xubo
 * @ClassNme Demo1
 * @Description TODO
 * @Date 2021-11-15 15:29:08
 * @version1.0
 */
public class Demo1 {
    public static void main(String[] args){
        Scanner scanner  = new Scanner(System.in);
        System.out.println("请输入");
        String s = scanner.next();
        char a = firstUniqChar(s);
        System.out.println(a);
    }
public static char firstUniqChar(String s){ int i=0; while(i<s.length()){ if (s.indexOf(s.charAt(i))==s.lastIndexOf(s.charAt(i))){ return s.charAt(i); } i++; } return ' '; } }

我写的这个效率不高,还需要改进,还存在更优解:

新的算法思路是:在原有的基础上,每次判断这个值是否出现过,如果出现过,那么我们就不让他比较了。因为我比较笨,么有看懂,所以以后再来自己写一下。

 

posted @ 2021-11-15 16:03  哩个啷个波  阅读(157)  评论(0)    收藏  举报