开发平台(Platform): (Ex: Win10, Linux, ...)
Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
未知
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
C语言指标求解
喂入的资料(Input):
listA = [4,1,8,4,5], listB = [5,0,1,8,4,5]
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
/** * Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
typedef struct ListNode ln;
struct ListNode *getIntersectionNode(ln *headA, ln *headB) {
int lenA = 0,lenB = 0;
for(ln* pA = headA; pA; pA = pA->next) lenA++;//问题在这
for(ln* pB = headB; pB; pB = pB->next) lenB++;//问题在这
for(int i = 0; i<lenA-lenB; i++) headA = headA->next;
for(int i = 0; i<lenB-lenA; i++) headB = headB->next;
while(headA != headB){
headA = headA->next;
headB = headB->next;
}
return headA;
}
补充说明(Supplement):
ln* pA = headA 这我可以理解,new一个Listnode
pA:以此为for条件是什么原理?