多叉树的根结点为二叉树的根,多叉树的结点的第一个儿子变成二叉树对应结点的左孩子,多叉树的结点的右兄弟变成二叉树种该结点的右孩子。代码如下:
C语言:
01
#include <stdio.h>
02 #include <sys/time.h>
03 #include <limits.h>
04 #include <stdlib.h>
05
06 typedef struct TreeNode {
07 int child_count;
08 int value;
09 struct TreeNode * child [ 0 ];
10 } TreeNode_t;
11
12 typedef struct BinaryTreeNode {
13 struct BinaryTreeNode * leftChild;
14 struct BinaryTreeNode * rightChild;
15 int value;
16 } BinaryTreeNode_t;
17
18 BinaryTreeNode_t * ToBinaryTree( TreeNode_t * root ){
19 if( root == NULL) {
20 return NULL;
21 }
22
02 #include <sys/time.h>
03 #include <limits.h>
04 #include <stdlib.h>
05
06 typedef struct TreeNode {
07 int child_count;
08 int value;
09 struct TreeNode * child [ 0 ];
10 } TreeNode_t;
11
12 typedef struct BinaryTreeNode {
13 struct BinaryTreeNode * leftChild;
14 struct BinaryTreeNode * rightChild;
15 int value;
16 } BinaryTreeNode_t;
17
18 BinaryTreeNode_t * ToBinaryTree( TreeNode_t * root ){
19 if( root == NULL) {
20 return NULL;
21 }
22