如果个数是奇数就返回中间节点,如果是偶数,就返回任意一个。
主要是能想到用2个指针,一个指针一次走一步,另一个指针一次走2步
主要是能想到用2个指针,一个指针一次走一步,另一个指针一次走2步
#include <stdio.h>
#include <stdlib.h>
typedef struct node{
int a;
struct node *link;
}mynode;
int creat_tail(mynode *head,int n){
mynode *node = head,*new;
int x;
if(n <= 0){
printf("error: n <= 0");
return 0;
}
for(;n > 0;n--){
new = (mynode*)malloc(sizeof(mynode));
printf("enter a number:\n");
scanf("%d",&x);
new->a = x;
new->link = NULL;
node->link = new; //随动指针
node = node->link;
}
}
mynode* search_mid(mynode *head)
{
mynode *front = head,*beh