java里面怎么输入特定字符串退出_[Java教程]在字符串中删除特定字符

[Java教程]在字符串中删除特定字符

0 2015-12-04 18:00:07

63.在字符串中删除特定的字符。

题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.”。

思路:

1. 位图法

将两个字符串分别转换成bitmap 然后对他们做异或xor运算,得到的结果即为排除了第二个字符串的所有字符, 然后对该结果依次与原字符串的所有字符进行与运算,结果不为零的即为所得    恩 位图真是个好东西啊。。。时间复杂度o(n+m) 花在了遍历字符串并构造位图上

2. 遍历字符串,构造hashTable,然后匹配要删除的字符

位图法:1 package com.rui.microsoft; 2 3 public class Test63_DelCharsFromString { 4 5 public static void main(String[] args) { 6 Test63_DelCharsFromString app = new Test63_DelCharsFromString(); 7 String target = "They are students"; 8 String source = "Taeiou"; 9 app.del(target,source);10 }11 12 void del(String target, String source){13 int bitT = 0;14 int bitS = 0;15 16 for(char c: target.toCharArray()){17 bitT |= 1 << c;18 }19 20 for(char c: source.toCharArray()){21 bitS |= 1 << c;22 }23 24 System.out.println(Integer.toBinaryString(bitT));25 System.out.println(Integer.toBinaryString(bitS));26 27 int inter = bitT ^ bitS;28 System.out.println(Integer.toBinaryString(inter));29 30 for(char c : target.toCharArray()){31 if((inter & (1<

本文网址:http://www.shaoqun.com/a/164136.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值