字符串置换

题:

  

解:

  这道题比较简单,不知道是不是我理解错题意了。

  我的思路是将两个字符串分割并保存到数组里面,再由数组保存到集合里面,最后对两个集合进行排序并判断相同索引下的字符是否相同。

代码:

 1 package com.lintcode;
 2
 3 import java.util.ArrayList;
 4 import java.util.Collections;
 5 import java.util.List;
 6 import java.util.Scanner;
 7
 8 /**
 9  * 字符串置换
10  * 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。
11  * 置换的意思是,通过改变顺序可以使得两个字符串相等。
12  * @author Administrator
13  */
14 public class Test_005 {
15     //将两个字符串分割,再存到集合里面排序,最后判断。
16     /**
17      * @param args
18      */
19     public static void main(String[] args) {
20         Scanner input = new Scanner(System.in);
21         String a = input.next();
22         String b = input.next();
23         System.out.println(stringPermutation(a,b));
24     }
25     /**
26      * @param A a string
27      * @param B a string
28      * @return a boolean
29      */
30     public static boolean stringPermutation(String A, String B) {
31         if (A.length()!=B.length()) {
32             return false;
33         }
34         String[] a = A.split("");
35         List<String> lista = new ArrayList<String>();
36         String[] b = B.split("");
37         List<String> listb = new ArrayList<String>();
38         for (int i = 0; i < b.length; i++) {
39             lista.add(a[i]);
40             listb.add(b[i]);
41         }
42         Collections.sort(lista);
43         Collections.sort(listb);
44         boolean result = true;
45         for (int i = 0; i < lista.size(); i++) {
46             if (!lista.get(i).equals(listb.get(i))) {
47                 result = false;
48                 break;
49             }
50         }
51         return result;
52     }
53 }
时间: 2024-12-12 08:56:52

字符串置换的相关文章

字符串置换问题

最近在lintcode上刷题,遇到这一问题. 问题描述: 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换. 置换的意思是通过改变顺序可以使得两个字符串相等.输入样例:"abc" 为 "cba" 的置换."abbc" 不是 "abcc" 的置换. 解决思路: 可通过排序来解决此问题,将其转换为字符数组,首先判断字符串长度是否相等,如果不相等则不是置换,二是判断为空字符串这一特殊情况,最后可通过Arra

211 字符串置换

原题网址:https://www.lintcode.com/problem/string-permutation/description 描述 给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换. 置换的意思是,通过改变顺序可以使得两个字符串相等. 您在真实的面试中是否遇到过这个题?  是 样例 "abc" 为 "cba" 的置换. "aabc" 不是 "abcc" 的置换. 标签 排列 字符串处理 思

字符串置换 python3

给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换. 置换的意思是,通过改变顺序可以使得两个字符串相等. 思路:将字符串排序后比较 class Solution: """ @param A: a string @param B: a string @return: a boolean """ def Permutation(self, A, B): # write your code here list1 = [ i fo

POJ 1026 Cipher(置换)

                                                               Cipher Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19502   Accepted: 5239 Description Bob and Alice started to use a brand-new encoding scheme. Surprisingly it is not a P

批处理bat 命令

1.批处理常用符号: - echo 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置 语法:@echo [{ on|off }]  echo{"显示信息"} - rem 注释命令,只是起一个注释的作用,便于别人阅读和你自己日后修改 - pause 暂停,将显示下面的消息:Press any key to continue . . . - call 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序 语法: call [Drive:][

批处理-整理

批处理中的特殊字符符号 批处理中的算术符号 批处理支持数值类型的表示,同样支持数值类型的运算处理,当然批处理比较弱智,只支持整数类型的数值的算术运算,不仅支持基本的数学算术运算,还支持高级的算术运算 dos命令说明 echo 和 @ 回显命令 @                     #关闭单行回显 echo off              #从下一行开始关闭回显 @echo off             #从本行开始关闭回显.一般批处理第一行都是这个 echo on          

cmd 概览---- 转

打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口... 也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令 注:/c表示执行完命令后关闭cmd窗口:/k表示执行完命令后保留cmd窗口 # 控制台命令窗口中一些技巧 复制内容:右键弹出快捷菜单,选择"标记(K)",然后选中所需复制的内容,然后右键即可 粘贴内容:右键弹出快捷菜单,选择"粘贴(P)" 在文件夹空白处按住Shift,然后右键弹出快捷菜单,可以看到&q

BAT命令大全

BAT命令大全 1 echo 和 @ @                          #关闭单行回显 echo off                  #从下一行开始关闭回显 @echo off               #从本行开始关闭回显.一般批处理第一行都是这个 echo on                  #从下一行开始打开回显 echo                      #显示当前是 echo off 状态还是 echo on 状态 echo.          

Windows批处理(cmd/bat)常用命令小结

转载自:“趣IT”微信公共号 前言 批处理文件(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务.用户只需双击批处理文件便可执行任务,而无需重复输入相同指令.编写批处理文件非常简单,但难点在于确保一切按顺序执行.编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工作时尤其有效. 在Windows中善用批处理可以简化很多重复工作 什么是批处理 批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理.批处理文件的扩展名为bat. 目前比较常见