由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教各位大牛,C#不能用指针的问题
相关主题
问一道二叉树遍历的问题? 谢谢![合集] 微软面试的一道题
请问排过序的list组建一个bst 复杂度是多少?考大家个新题 visitor reconstruct generic tree
tree traversal nextNode的无递归无stack实现问一个构建二叉树的问题
一道msft的题career cup上面一题递归求解
问个1337网页上面的经典题请高手指教:CC150 Subtree 问题(4.7)的一点疑问
G家新鲜面经关于preorder和inorder构建binary tree
Restore binary tree from preorder and inorder sequences感觉leetcode上的题
贡献几道G家onsite题Create Binary Tree from preorder and inorder arrays
相关话题的讨论汇总
话题: divider话题: int话题: inorder话题: preorder
进入JobHunting版参与讨论
1 (共1页)
e***s
发帖数: 799
1
一个简单的construct BT with preorder and inorder.
这是1337code大哥的C++ code(递归部分).
root->left = buildInorderPreorder(in, pre+1, i, offset);
root->right = buildInorderPreorder(in+i+1, pre+i+1, n-i-1, offset+i+1);
但是在C#中不在unsafe block里面不能用指针(我也不想用指针)。
有什么方法能写得这么简洁呢?
int[] linorder = new int[divider];
int[] lpreorder = new int[divider];
int[] rinorder = new int[n - divider - 1];
int[] rpreorder = new int[n - divider - 1];
for(int i = 0; i < divider; i++)
linorder[i] = inorder[i];
for(int i = 1; i <= divider; i++)
lpreorder[i-1] = preorder[i];
for (int i = divider + 1; i < n; i++)
rinorder[i - (divider + 1)] = inorder[i];
for (int i = 1 + divider; i < n; i++)
rpreorder[i - (1 + divider)] = preorder[i];
root.left = buildinorderpreorder(linorder, lpreorder);
root.right = buildinorderpreorder(rinorder, rpreorder);
这是我的code, 建立left inorder, left preorder, right inorder, right
preorder,再放回去递归,觉得很不简洁。
e***s
发帖数: 799
2
是不是问题太无聊了?
1 (共1页)
进入JobHunting版参与讨论
相关主题
Create Binary Tree from preorder and inorder arrays问个1337网页上面的经典题
新鲜fb面经G家新鲜面经
F家phone interview的一道题Restore binary tree from preorder and inorder sequences
Construct Binary Tree from Preorder and Inorder Traversal的setup 是不是有点问题?贡献几道G家onsite题
问一道二叉树遍历的问题? 谢谢![合集] 微软面试的一道题
请问排过序的list组建一个bst 复杂度是多少?考大家个新题 visitor reconstruct generic tree
tree traversal nextNode的无递归无stack实现问一个构建二叉树的问题
一道msft的题career cup上面一题递归求解
相关话题的讨论汇总
话题: divider话题: int话题: inorder话题: preorder