Leetcode上211号问题可以使用非递归的方式吗

来源:10-5 Trie字典树和简单的模式匹配

计科一班

2019-01-07

老师你好,211号问题,在搜索时,想使用非递归的方式可以吗,自己写了一个,但是提交时还是有的测试用例不成功。希望老师做出指正,谢谢老师。代码如下:

public boolean search(String word) {
        Node cur = root;

        for (int i = 0; i < word.length(); i++) {
            char c = word.charAt(i);
            if ('.' != c){
                if (cur.next.get(c) == null){
                    return false;
                }
                cur = cur.next.get(c);
            }else{
                char nc = ' ';
                for (char nextchar : cur.next.keySet()){
                    if (cur.next.get(nextchar) == null){
                        return false;
                    }else{
                        nc = nextchar;
                    }
                }
                cur = cur.next.get(nc);
            }

        }

        if (cur != null){
            return cur.isWord;
        }
        return false;
    }
写回答

1回答

liuyubobobo

2019-01-07

我们这个课程实现的trie就是非递归的啊:)


也可以参考我的代码的思路,没有完全使用课程中写的Trie,但是思路是一致的:)

C++版参考代码(抱歉,Leetcode上的大多数问题我都直接使用C++解决,请借鉴思路:))

https://github.com/liuyubobobo/Play-Leetcode/blob/master/0211-Add-and-Search-Word-Data-structure-design/cpp-0211/main.cpp


加油!:)

0
0

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程