首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

今天机试的两道题,字符串和链表解决方案

2012-03-21 
今天机试的两道题,字符串和链表1、求字符串子串出现的次数String compareTo(String str1, String str2)如st

今天机试的两道题,字符串和链表
1、求字符串子串出现的次数
String compareTo(String str1, String str2)
如str1="abaacabdcabd" ,str2="ab" 则返回"3"。
2、去掉单链表中的重复的节点,然后将链表逆置。
如2,4,5,4,3,7,2,3,9,3
去掉重复节点后5,7,9
逆置之后
结果为9,7,5

各路大神,如何实现??

[解决办法]
1、

Java code
String aa = "abaacabdcabd";            String[] bb = aa.split("ab");            int count = bb.length-1;            System.out.println(count);
[解决办法]
探讨

引用:

1、Java code
String aa = "abaacabdcabd";
String[] bb = aa.split("ab");
int count = bb.length-1;
System.out.println(count);


2、Java code
LinkedList<Integer> lis……
……

[解决办法]
String aa = "aaaaaaab";
String bb = "aa";
[解决办法]
Java code
/**     * 链表去重及倒置     */    public static LinkedList<Integer> offer(LinkedList<Integer> e) {        Map<Integer, Integer> map = new HashMap<Integer, Integer>();        LinkedList<Integer> list = new LinkedList<Integer>();        Integer i;        for (Integer r : e) {            if (map.containsKey(r))                map.put(r, map.get(r) + 1);            else                map.put(r, 1);        }        for (Integer j : map.keySet()) {            if (map.get(j) == 1)                list.add(j);        }        Collections.reverse(list);        return list;    } 

热点排行