кодесурса

Упражнения на Java: Проверьте, являются ли две указанные строки изоморфными или нет

script1adsense2code
script1adsense3code

Java Basic: упражнение 185 с решением

Напишите программу на Java, чтобы проверить, являются ли две данные строки изоморфными или нет.

Две строки называются изоморфными, если буквы в одной строке можно переназначить для получения второй строки. Переопределение буквы означает замену всех вхождений ее другой буквой, но порядок букв остается неизменным. Никакие две буквы не могут отображаться на одну и ту же букву, но буква может отображаться на себя.
Пример 1: слова «abca» и «zbxz» изоморфны, потому что мы можем отобразить «a» в «z», «b» в «b» и «c» в «x».
Пример 1: слова «bar» и «foo» не являются изоморфными, потому что мы можем отобразить «f» в «b», «o» в «a» и «o» в «r».

Пример решения:

Java-код:

import java.util.*;
public class Solution {  
   public static void main(String[] args) {
        String str1 ="abca";
		String str2 ="zbxz";
		System.out.println("Is "+str1 +" and "+str2 +" are Isomorphic? "+is_Isomorphic(str1, str2));
    }
  public static boolean is_Isomorphic(String str1, String str2) {
        if (str1 == null || str2 == null || str1.length() != str2.length())
			return false;
        Map<Character, Character> map = new HashMap<>();
        
        for (int i = 0; i < str1.length(); i++) {
            char char_str1 = str1.charAt(i), char_str2 = str2.charAt(i);
            if (map.containsKey(char_str1)) 
			{
                if (map.get(char_str1) != char_str2)
					return false;
            }
			else 
			{
                if (map.containsValue(char_str2)) 
					return false;
             map.put(char_str1, char_str2);
            }
        }
        
        return true;
    }
}

Пример вывода:

 Являются ли abca и zbxz изоморфными? правда

Блок - схема:

«Блок-схема:

Редактор кода Java:

Компания: LinkedIn

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Java, чтобы найти длину самого длинного последовательного пути последовательности данного двоичного дерева.
Далее: Напишите программу на Java, чтобы проверить, является ли число стробограмматическим числом. Число представляется в виде строки.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code