package leetcode;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

/**
 * @author yujianjian  2017-07-01 下午4:55
 */
public class Demo5 {

    public boolean isIsomorphic(String s, String t) {
        int a = s.length();
        int b = t.length();
        if (a != b) {
            return false;
        }
        int[] flag = new int[a];
        int[] flag2 = new int[b];

        Map<Character, Integer> map = new HashMap<>();
        Map<Character, Integer> map2 = new HashMap<>();

        int tmp = 0;
        for (int i = 0; i < a; i++) {
            if (!map.containsKey(s.charAt(i))) {
                map.put(s.charAt(i), tmp);
                tmp++;
                flag[i] = tmp;
            } else {
                flag[i] = map.get(s.charAt(i));
            }
        }

        tmp = 0;
        for (int i = 0; i < a; i++) {
            if (!map2.containsKey(t.charAt(i))) {
                map2.put(t.charAt(i), tmp);
                tmp++;
                flag2[i] = tmp;
            } else {
                flag2[i] = map2.get(t.charAt(i));
            }
            if (flag[i] != flag2[i]) {
                return false;
            }
        }
        return true;
    }


    public static int firstUniqChar(String s) {
        Map<Character,Integer> map = new LinkedHashMap<>();
        for(int i=0;i<s.length();i++){
            if(map.containsKey(s.charAt(i))){
                map.put(s.charAt(i),map.get(s.charAt(i))+1);
            }else{
                map.put(s.charAt(i),1);
            }
        }
        for(int i=0;i<s.length();i++){
            if(map.get(s.charAt(i)) == 1){
                return i;
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        int lovelintcode = firstUniqChar("lovelintcode");
        System.out.println(1);
    }
}
