现在我有全部汉字的拼音,需求是:当用户输入一列字母时,判断字母是不是一个词语。举例如下:
全部汉语拼音放在一个数组中 String[]  pinyinArr = new String[]{zao,ni,hao,wo,shang,z,n,h,sh};(列举部分)
用户输入一列字母  zaoshang
判断这列字母是否是词语的办法,对这列字母进行合理拆分后,zao和shang都在单字数组中,则是一个词语
如果用户输入zaoshangh,拆分为zao  shang  h  都在单字数组中,则是一个词语
如果用户输入zahji,则拆分后都不在单字数组中,则不是一个词语
最好不要用递归,层次太多一直出堆栈异常
请问这个算法如何实现,谢谢各位大侠。

解决方案 »

  1.   

    3 这个应该做第二条. 你要记录合理连接. 比如  a + o 合理  a + e 不合理  你要有这么一个韵母表. a 
    an 
    ang o 
    on 
    ong 

    en
    engu
    uni
    ia
    ian....
      

  2.   


    这个有了,所有的汉字拼音表已经有了,现在问题是怎么根据这一列字母进行拆分,然后去汉字表中判断是否存在;比如说怎么判断zaoxyz不是一个词?zaoshang和zaosh就是一个词?仁兄能否附上贵算法,不胜感激