|
|
- import java.util.Queue;
- import java.util.Stack;
-
- /*
- * SD2x Homework #2
- * Implement the method below according to the specification in the assignment description.
- * Please be sure not to change the method signature!
- */
-
- public class HtmlValidator {
- public static Stack<HtmlTag> isValidHtml(Queue<HtmlTag> tags) {
- Stack<HtmlTag> matchedTags = new Stack<HtmlTag>();
- while(!tags.isEmpty()){
- HtmlTag tag = tags.remove();
- if(tag.isSelfClosing()){
- continue;
- }
- if(tag.isOpenTag()){
- matchedTags.push(tag);
- }else{
- if(matchedTags.isEmpty()){ return null; }
- if(tag.matches(matchedTags.peek())){
- matchedTags.pop();
- }else{
- if( matchedTags.isEmpty() ){ return null; }
- break;
- }
- }
- }
- return matchedTags;
- }
-
- }
-
|