颓了一晚上,来写篇博客.
二叉人人都喜欢,但是有些题是多叉的,于是我们可以用这个技巧把多叉转成二叉.
大体来说就是左儿子,右兄弟.
配图如下:
儿子的右儿子就是他的兄弟,他的上一个兄弟就在父亲的左儿子上,然后再修改父亲的左儿子到这个点。
代码如下:
for(int i=1;i<=n;i++){ int father,son; scanf("%d%d",&father,&son); t[son].right=t[father].left; t[father].left=son;}
本文共 304 字,大约阅读时间需要 1 分钟。
颓了一晚上,来写篇博客.
二叉人人都喜欢,但是有些题是多叉的,于是我们可以用这个技巧把多叉转成二叉.
大体来说就是左儿子,右兄弟.
配图如下:
儿子的右儿子就是他的兄弟,他的上一个兄弟就在父亲的左儿子上,然后再修改父亲的左儿子到这个点。
代码如下:
for(int i=1;i<=n;i++){ int father,son; scanf("%d%d",&father,&son); t[son].right=t[father].left; t[father].left=son;}
转载于:https://www.cnblogs.com/Lemir3/p/10890207.html