Breaking

Thursday 17 August 2017

ISOMORPHIC STRINGS

ISOMORPHIC STRINGS


Given two strings s and t, determine if they are isomorphic.
Two strings are isomorphic if the characters in s can be replaced to get t.
All occurrences of a character must be replaced with another character while preserving the order of characters. No two characters may map to the same character but a character may map to itself.
For example,
Given "egg""add", return true.
Given "foo""bar", return false.
Given "paper""title", return true.
Note:
You may assume both s and t have the same length.

import java.util.*;
public class Hello {
    public static void main(String[] args) {
        //Your Code Here
         
        HashMap<Character,Character> hs=new LinkedHashMap<Character,Character>();
         
        Scanner sc=new Scanner(System.in);
        String s1=sc.next();
        String s2=sc.next();
        if(s1==null&&s2==null)
        {
            System.out.println("YES");
            return;
        }
        int n=s1.length();
        int n1=s2.length();
        if(n!=n1)
        {
            System.out.println("NO");
            return;
        }
        for(int i=0;i<n;i++)
        {char c1=s1.charAt(i);
        char c2=s2.charAt(i);
         if(hs.containsKey(c1))
         {
             if(hs.get(c1)!=c2)
             {
                 System.out.println("NO");
                 return;
             }
         }
         else{
             if(hs.containsValue(c2))
             {
              System.out.println("NO");
              return;
             }hs.put(c1,c2);
         }}
        System.out.println("YES");
         
    }
}


No comments:

Post a Comment

Like