topics

全部话题 - 话题: getnexttag
(共0页)
f*******b
发帖数: 520
1
来自主题: JobHunting版 - MS onsite面经
没细想,大概思路是:
while(tag.getNextTag()!=null)
{
if(tag.getNextTag()==StartingNode)
tag=tag.getNextTag();
if(tag.getNextTag().getNextTag()==String)//节点进一层,level+1,之前节点为此
节点的母节点
Mother[Level]=tag;
Mother[Level++].CreatChild();
Tag=Tag.getNextTag().getNextTag();
if(tag.getNextTag().getNextTag()==StartingNode)//节点在同层,level不变,母节
点不变
Tag.getNextTag().getNextTag().getNextTag()
Mother[Level].CreatChild();
if(tag.getNextTag().getNextTag()==EndNode) //节点退一层,level-1,母节点回
溯到上层母节点
Leve... 阅读全帖
s*******s
发帖数: 1031
2
来自主题: JobHunting版 - MS onsite面经
我的代码,用递归做。不一定对 。。
// n1n2n3n4
n1
/
n2
/ \
n3 n4
string getNextTag();
bool isTagStartingNode(string tag);
bool isTagEndNode(string tag);
bool isTagString(string tag)
struct TreeNode {
string value;
TreeNode *left;
TreeNode *right;

TreeNode(string v) : value(v), left(NULL), right(NULL) {}
};
TreeNode *parse(string startTag) {
// no more nodes left
if(str.size() == 0)
retu... 阅读全帖
x****8
发帖数: 127
3
来自主题: JobHunting版 - MS onsite面经
stack?
public static void main(String[] args) {

XmlParser p = new XmlParser("ABDC");
String s;
Stack> stk = new Stack>();
TreeNode root = null;// = new TreeNode();
while((s = p.getNextTag()) != null){
if(p.isStartTag()){
String str = p.getNextTag();//assert is string tag
TreeNode node = new TreeNode(str);
... 阅读全帖
g**********9
发帖数: 49
4
来自主题: JobHunting版 - MS onsite面经
have a flat xml string:
n1n2n3n4
How to convert it into a tree structure below. Suppose you have a XML parser
can tell you getNextTag(); isTagStartingNode(); isTagEndNode(); isTagString
()
n1
/
n2
/ \
n3 n4
Any idea?
(共0页)