使用位运算解决subsets

来源:互联网 发布:淘宝换货退款流程 编辑:程序博客网 时间:2024/05/21 22:16
package subSets;import java.util.ArrayList;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubString s = "abc";for(int i=0;i<subSets(s).size();i++){System.out.println(subSets(s).get(i));}}public static ArrayList<String> subSets(String s){ArrayList<String> result = new  ArrayList<String>();if(s.length()==0 || s==null){return result;}int len = s.length();int val = 1 << len;for(int i=1;i<val;i++){StringBuffer sb=new StringBuffer();int j=i;int idx=0;while(j>0){if((j&1)!=0){sb.append(s.charAt(idx));}idx++;j = j>>1;}result.add(sb.toString());}return result;}}

0 0
原创粉丝点击