Interview Question: Find all substrings (Google)

by rgthree

HTML

<strong>“Find all (English word) substrings of a given string (every = every, ever, very).”</strong><br>
<em>– Google Software Engineer Interview</em>
<br><br>
<a href="http://www.forbes.com/sites/jacquelynsmith/2011/03/07/tech-job-interview-questions/" target="_blank">forbes.com</a>
    
    
<br><br>
Input: "every"<br>
Run: <input id="output" style="width:250px;"/><br>

JavaScript

var isValidWord = function(w){
  return /^(every|ever|very|eve)$/.test(w);    
}

var findValidWords = function(word){
    var words, w;
    words = [];
    w = word;
    do{
        if(isValidWord(w))
            words.push(w);
    }while(w = w.substr(0, w.length-1));
    if(word.length > 1)
        words = words.concat(findValidWords(word.substr(1)));
    return words;    
}

var validwords = findValidWords('every');
document.getElementById('output').value = validwords;
console.log(validwords);