java實(shí)現(xiàn)輸出字符串中第一個(gè)出現(xiàn)不重復(fù)的字符詳解

java實(shí)現(xiàn)輸出字符串中第一個(gè)出現(xiàn)不重復(fù)的字符詳解

成都創(chuàng)新互聯(lián)公司是專業(yè)的鄂州網(wǎng)站建設(shè)公司,鄂州接單;提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鄂州網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

比如:輸入name輸出n,輸入teeter輸出r,輸入namename輸出null

具體實(shí)現(xiàn)代碼如下:

import java.util.Scanner;

public class Main
{
  public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    String str = in.next();
    for(int i =0 ; i < str.length() ; i++)
    {
      if(str.lastIndexOf(str.char(i)) == i && 
      str.indexOf(str.char(i)) == i)
      {
        System.out.println(str.char(i));
        break;
      }
    }

  }
}

在這個(gè)實(shí)現(xiàn)代碼中我們使用了String類的三個(gè)方法成員:

String.length():獲取字符串的長(zhǎng)度
String.charAt(int index):獲取索引index的字符
String.lastIndexOf(char c):獲取字符c最后一次出現(xiàn)在字符串中的索引
String.indexOf(char c):獲取字符c第一次出現(xiàn)在字符串中的索引

其實(shí)我們也可以不使用字符串的這些方法就可以實(shí)現(xiàn)了,下面是我個(gè)人使用for循環(huán)來(lái)實(shí)現(xiàn)的代碼:

import java.util.Scanner;
public class Main
{
  public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    String str = in.next();
    char[] cb = new char[str.length()];
    //將字符串中的字符一次存入cb[]
    for(int i =0 ;i <str.length() ; i++)
    {
      cb[i] = str.charAt(i);
    }
    for(int i = 0 ; i < str.length() ; i++)
    {
      for(int j = 0 ; j < str.length() ; j++)
      {
        if(cb[i] == cb[j] && cb[i] != '0')
        {
          char c = cb[i];
          for(int z = 0 ; z < str.length() ; z++)
          {
            if(cb[z] == c)
              cb[z] = '0';
          }
        }
      }
    }
    for(int i = 0 ; i <str.length() ; i++)
    {
      if(cb[i] != '0')
      {
        System.out.println(cb[i]);
        break;
      }
    }
  }
}

這種方法可以實(shí)現(xiàn),不過(guò)這種方法的時(shí)間復(fù)雜度特別的大,系統(tǒng)開銷也特別大,因此我們最好不要使用循環(huán)嵌套,除非迫不得已,不然對(duì)系統(tǒng)開銷是很大的。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

名稱欄目:java實(shí)現(xiàn)輸出字符串中第一個(gè)出現(xiàn)不重復(fù)的字符詳解
網(wǎng)頁(yè)鏈接:http://bm7419.com/article26/igopcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)建站公司、定制網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站營(yíng)銷、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化