编辑代码

void main() {
  List<int> a = [1, 3, 6, 7, 10, 11];
  List<int> b = [2, 4, 5,14, 18, 19, 20, 21,23];
  var res = findeMiddle(a,b);
  print(res);
}

findeMiddle(List<int> A, List<int> B) {
    int aLength = A.length;
    int bLength = B.length;
    int count = aLength + bLength;
    int left =-1,right= -1, aStart=0, bStart = 0;
    for(int i = 0; i <= count / 2;i++) {
        left = right;
        if((bStart < bLength) &&(A[aStart] >B[bStart] || aStart == aLength)){
            right = B[bStart++];
        } else {
            right = A[aStart++];
        }
    }
    if((count & 1) ==0) {
        return (left +right) /2;
    } else {
        return right;
    }
}